内容が初期値と異なる場合にアラートダイアログを表示する


動作ブラウザ 【 IE:3.0  NN:2.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows - - -
Macintosh - - -
UNIX - - - - - - - -
Dreamcast - - - - - - - - - - -

ポイント for (i=0; i<document.myForm.elements.length; i++) { storeValue[i] = document.myForm.elements[i].value; }
説  明 テキストフィールドの初期値を保存するにはページが読み込まれたら(onLoadイベントが発生したら)フォームのエレメントの数だけvalueの内容を読み出して配列に入れます。送信時には、保存した配列の値とフォームのエレメントの値を比較して違っている場合にアラートを表示します。
サンプル <html> <head> <title>内容が初期値と異なる場合にアラートダイアログを表示する</title> <script Language="JavaScript"><!-- storeValue = new Array(); // 保存用配列 // ページ読み込み時に初期値(value)を保存 function readValue() { for (i=0; i<document.myForm.elements.length; i++) { storeValue[i] = document.myForm.elements[i].value; } } // 送信時に初期値と違うかどうかチェック function sendData() { for (i=0; i<document.myForm.elements.length; i++) { if (storeValue[i] != document.myForm.elements[i].value) alert(i+"番目が変更されました"); } } // --></script> </head> <body onLoad="readValue()"> <form name="myForm" onSubmit="sendData()"> その1:<input type="text" name="myText"><br> その2:<input type="text" value="sample"><br> その3:<input type="text" value="最初の文字"><br> <br> <input type="submit" value="送信"> </form> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA