0

送信がクリックされたときに関数 validate() を実行するこのコードをここに取得しました。この関数は、ページ内のテキストの一部を変更します。しかし、送信後にページが自動的に更新されるため、効果がわかりません。

<form name="myForm" onsubmit="validate(); return false;">
    Age: <input type="text" name="age" />
    Height (meters): <input type="text" name="height" />
    Weight (kilograms): <input type="text" name="weight" />
    <input type="submit" value="Submit">
</form>

各送信後にページがリロードされないようにするにはどうすればよいですか?

4

3 に答える 3

0

フォーム内でテストボタンを使用できます

<input type="button" value="Test button" onclick="validate();">

解決したら、ボタンを削除します。

Firebug (または同等のもの) を使用して、JavaScript コードにブレークポイントを追加することもできます。

于 2013-02-20T08:38:04.127 に答える
0

フォームによって発生した送信イベントは、フォーム アクションを自動的に開始します。フォーム アクションが宣言されていない場合は、ページが更新されます。検証前にこの既定のアクションが発生しないようにし、検証に合格した後にデータを送信する必要があります。

preventDefault()検証コードに追加します。

于 2013-02-20T08:39:49.720 に答える
0

return false; を必ず追加してください。あなたの validate() 関数で。

これにより、フォームが送信されなくなります。

例 :

 function validate() {
     //Validation code goes here
     return false;
 }
于 2013-02-20T08:40:28.493 に答える