$('form-selector').get(0).reset()
フォームの値を元のページの読み込み状態にリセットするために使用しています。
編集後、フォームは経由$.ajax()
で送信され、サーバーに新しい「デフォルト」値が追加されます。form要素はまだdomに存在し、ユーザーは再度送信して更新できます。「デフォルト」(リセット値)にサーバーの内容を反映させたい(他の外部更新を無視する)。ページを更新せずに各フォーム要素を変更する基になる値を更新することは可能ですか? form.reset()
クロスブラウザのサポートがあればいいのですが、これは内部アプリなので、GoogleChromeだけで十分です。
HTML
<form>
<input type="text" value="foo" name="bar" />
<input type="submit" value="Submit" />
<Input type="reset" value="Reset" />
</form>
JAVASCRIPT
$(function(){
$('form').submit(function() {
// Omitting code that sends form values to the server
// TODO: update underlying form.reset()
// values to what's currently in each
// form element.
return false;
});
});
アップデート
ああ!私はすべてのフォーム要素タイプを処理するために何かを探しているとは言いませんでした。すなわちinput[type=text], input[type=radio], input[type=checkbox], select, textarea
。
HTML5フォーム要素も処理できるとしたら特に素晴らしいでしょう...つまりinput[type=date], input[type=number], input[email], input[url], input[type=range], input[type=color]
、など。
混乱させて申し訳ありません。