2

送信ボタンとリセットボタンのあるいくつかのフィールドを持つ1つのフォームがあります。空の特殊文字を検証するためにcakephpモデル検証を使用しています。無効なデータを入力してフォームを送信すると、エラーメッセージが表示されます。その後、リセットボタンをクリックしても、フォームはリセットされません。検証エラーメッセージの前に、正常に動作しています。

私のリセットボタンコードは

<input type="reset" class="uiBtn" value="Reset" name="reset">&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" class="uiBtn" value="Save Section" name="">

また、jqueryリセット関数を使用しましたが、これも機能しません。

誰かが私に何が問題なのか助けてください???

4

1 に答える 1

1

HTMLリセットボタンは、ページが最初にロードされたときの値にフォームのコントロールをリセットするため、機能しません。ポストバックすると、PHPエンジンがコントロールの値を再度設定するため、リセットは、ポストバック後にページをロードしたときのコントロールに戻すだけです。

これに対する唯一の解決策は、JavaScriptを使用してクライアント側で実行するか、ポストバックでサーバー側で実行することです。すべてのコントロールを繰り返し処理し、それらのプロパティを適切に設定するだけです。

別のonloadイベントがまだ設定されていなければ、Jsコードに従うことは確かに機能します。

window.onload = function () {
for(var f in document.getElementsByTagName("form"))
    f.reset();
}

この投稿は、送信後にフォームをリセットするのに役立つ場合があります。

于 2012-08-24T08:29:47.633 に答える