- ベストアンサー
JavaScriptのアラートのソース
1と2の数字入力窓があり、1よりも2の数字が大きくなるときに、Java Scriptでアラートを出したいのですが、JavaScriptのソースがまったくわかりません。どなたかご存知のかた、教えてください!
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
次を参考にしてみてください。 -------------------------------------------------------------- <html> <head> <title></title> <script type="text/javascript"> <!-- function numcheck() { var flag = 0; var n1=document.form1.num1.value; var n2=document.form1.num2.value; if (n1.match(/[^0-9]+/) || n1=="") { flag = 1; } else if (n2.match(/[^0-9]+/) || n2=="") { flag = 1; } if (flag==1) { window.alert('数字を入力してください。'); return false; // 中止 } else if ( eval(n1)<eval(n2) ) { window.alert('数字2が大きいです。'); return false; // 中止 } else { return true; // 送信 } } // --> </script> </head> <body> <form method="POST" action="" name="form1" onSubmit="return numcheck();"> <p><input type="text" name="num1" size="4"></p> <p><input type="text" name="num2" size="4"></p> <p><input type="submit" value="送信"></p> </form> </body> </html>
その他の回答 (4)
- auty
- ベストアンサー率58% (284/486)
>>>>>>>> テキスト2を入力したとき ということであれば、2番目を次のように変更してみてください。 <p><input type="text" name="num2" size="4" onChange="numcheck();"></p>
- kokorone
- ベストアンサー率38% (417/1093)
#3の訂正です。 例) テキスト1:5を入力 テキスト2:2を入力 エラーにならない。 テキスト1:1を入力 エラーにならない。
- kokorone
- ベストアンサー率38% (417/1093)
HTMLテキスト2のタグに、 OnChange="TxtCheck();" を入れてください。 老婆心ながら、テキスト1の入力時にもチェックは必要かと。。 例) テキスト1:5を入力 テキスト2:2を入力 エラーにならない。 テキスト1:7を入力 エラーにならない。
お礼
1にもアラートは必要ですね! テキスト2のタグにOnChangeをいれたことで、 しっかり動きました! 本当にありがとうございます!
- kokorone
- ベストアンサー率38% (417/1093)
どのタイミングで、アラートを出したいのでしょうか? 何か、ボタンを押したとき? テキスト1を変更したとき? テキスト2を変更したとき? 上記、3つすべて?? ボタンを押したときと想定すると、 HTMLボタンのタグに、 OnClick="TxtCheck();" と追加し、JavaScript定義領域として <script language="javascript"> <!-- function TxtCheck() { var tx1; var tx2; with(document.form){ tx1=elements["TXT1"].value; tx2=elements["TXT2"].value; if(tx1 < tx2){ alert("NG!!!!"); } } } //--> </script> こんなイメージです。 タグ名称も、不明ですので、このままではエラーになります。 詳しくは、ご自身で解析してください。
お礼
早速のご回答ありがとうございます。 かなり詳しい説明を頂いてありがとうございます。 タイミングはテキスト2を入力したとき、を考えています。 ここではボタンをクリックしたときで、OnClickとなっていますが、テキストを入力したとき、では、Inputとなるのでしょうか? 初心者で誠に申し訳ありません... お手数ですが、お教えいただければ幸いです。
お礼
詳しい解説ありがとうございました! 確認したところ、これでしっかり動きました。 本当にありがとうございます!