• 締切済み

入力制限アラートと送信制限

以下のフォームが合った場合に (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>

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まず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)
回答No.1

どの程度までJavaScriptでコードは書けていますか? 途中のコードか, ここまでできて,ここがわからないという状態説明をお願いします. 問題だけ書いて,解いてくださいという質問は規約違反に該当します.

midorin_h
質問者

補足

この程度は書けています。 テストはしましたが、どうでしょうか? これ以外に簡潔にできるのであればアドバイス下さい。 これに、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>