- 締切済み
入力制限アラートと送信制限
以下のフォームが合った場合に (1),や@や*、バカ等の文字など文字入力があった場合にアラートで表示する方法がわかりません。参考になるようなサイトやアドバイスをお願いします。 また、 同時にsubmitボタンが2度押しできないようにするにはどうしたらよいでしょうか? <form action="./***" method="POST" name="check"> <input type=text name=data1 value="0" size=30> <input type=text name=data2 value="0" size=30> <input type=text name=data3 value="0" size=30> <input type=submit value="送信する"> </form>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
まずformにnameはつけてはいけません。 あとはこんな感じで //hoge.htm <script type="text/javascript" src="hoge.js"></script> <form> <input type="text" name="data"> <input type="text" name="data2"> <input type="submit" value="調べる" onClick="return checkText(this.form)"> </form> //hoge.js function checkText(f){ var list={data:"項目1",data2:"項目2"}; for(var i in list){ if(str=f[i].value.match(/[,@\*]+|バカ/)){ alert(list[i]+"に使用できない文字"+str+"が含まれています。") return false; } } }
- aigaion
- ベストアンサー率47% (287/608)
どの程度までJavaScriptでコードは書けていますか? 途中のコードか, ここまでできて,ここがわからないという状態説明をお願いします. 問題だけ書いて,解いてくださいという質問は規約違反に該当します.
補足
この程度は書けています。 テストはしましたが、どうでしょうか? これ以外に簡潔にできるのであればアドバイス下さい。 これに、2度押し送信はできないようにしたいです。 <html> <head> <title></title> <script Language="JavaScript"><!-- function checkText() { txt = document.myFORM.data1.value; if (txt.match(/,/g)) alert("項目1にカンマ文字が含まれています。\nカンマ(,)文字は使用できません"); txt = document.myFORM.data2.value; if (txt.match(/,/g)) alert("項目2にカンマ文字が含まれています。\nカンマ(,)文字は使用できません"); } // --></script> </head> <body> <form name="myFORM"> <input type="text" name="data"> <input type="text" name="data2"> <input type="button" value="調べる" onClick="checkText()"> </form> </body> </html>