teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

chousei

2024/04/18 06:39

投稿

yambejp
yambejp

スコア117908

answer CHANGED
@@ -20,4 +20,25 @@
20
20
  <input type="text" name="search" class="input_text" required="required" value="">
21
21
  <button type="submit" class="s_button">send</button>
22
22
  </form>
23
+ ```
24
+
25
+ # 追記
26
+ 全角スペースを半角にスペースに変更して送信
27
+ ```javascript
28
+ document.addEventListener('submit',(e)=>{
29
+ const search=e.target.querySelector('[name=search]');
30
+ const reg=/\u3000/g;
31
+ if(reg.test(search.value)){
32
+ search.value=search.value.replace(reg,' ');
33
+ }
34
+ });
35
+ ```
36
+ もしくは入力させない
37
+ ```javascript
38
+ document.addEventListener('input',(e)=>{
39
+ const reg=/\u3000/g;
40
+ if(e.target.matches('[name=search]') && reg.test(e.target.value)){
41
+ e.target.value=e.target.value.replace(reg,' ');
42
+ }
43
+ });
23
44
  ```

1

chousei

2024/04/17 07:40

投稿

yambejp
yambejp

スコア117908

answer CHANGED
@@ -1,4 +1,23 @@
1
1
  全角スペースが含まれていたらダメということでしょうか?
2
2
  ```HTML
3
3
  <input type="text" name="search" class="input_text" pattern="[^\u3000]" required="required" value="">
4
+ ```
5
+
6
+ 変換も特に問題ないような気がしますが・・・
7
+ ```javascript
8
+ <script>
9
+ document.addEventListener('submit',(e)=>{
10
+ const search=e.target.querySelector('[name=search]');
11
+ const reg=/\u3000/;
12
+ if(reg.test(search.value)){
13
+ alert('全角スペースを半角に変更しました')
14
+ e.preventDefault();
15
+ search.value=search.value.replace(reg,' ');
16
+ }
17
+ });
18
+ </script>
19
+ <form method="GET">
20
+ <input type="text" name="search" class="input_text" required="required" value="">
21
+ <button type="submit" class="s_button">send</button>
22
+ </form>
4
23
  ```