0

次のコードは、フォームで送信をクリックする前に機能します。したがって、送信する前にフィールドに入力し、[リセット]をクリックするとうまくいきます。

<input type="reset" class="advanced-reset-btn" id="advancedResetButton" name="advancedResetButton" value="Reset" />

しかし、この作品をクリックして提出した後、何も起こりません。必要に応じてフィールドがリセットされません。onclickを送信した後にフォームをクリアする方法についての提案はありますか?

更新しました

<form id="advancedSearchOrder" name="advancedSearchForm" value="advancedSearch" action="" class=" search line" method="GET" >
<span class="advancedSearchFormlabel">Order Id</span>
      <%= text_area_tag('filters[order_id]',filter_params['order_id'],:rows=>10) %>
...
...
...
<input type="submit" class="advanced-search-btn" id="advancedSearchButton" name="advancedSearchButton" value="Search"/>
<input type="reset" class="advanced-reset-btn" id="advancedResetButton" name="advancedResetButton" value="Reset" />
4

4 に答える 4

3

RESET入力タイプは、フォームを空のフォームではなく、ページがロードされたときの状態にリセットします。フォームを送信した後、フォームには送信されたデータが事前に入力されます。フォームをリセットすると、フォームはこの事前入力された状態にリセットされます。

これをテストするには、次の手順を実行します。

  1. フィールドにABCと入力し、フォームを送信します。ページがリロードされ、フォームにABCが事前入力されます。

  2. フィールドをABCDEFに変更します。[リセット]をクリックします。フォームがABCにリセットされます。

これはRESETの通常の動作であり、RESETボタンに精通している人はこのように動作することを期待します。フォームのすべてのフィールドを消去する場合は、おそらくAmarの回答と同様のJavaScriptを使用する必要があります。もう1つのオプションは、コントローラーの値をクリアして、フォームの送信ごとに新しい空のフォームがクライアントに送信されるようにすることです。

于 2013-03-19T14:37:56.103 に答える
1

同じボタン:

<input class='advanced-reset-btn'>Reset</input>

そしてあなたのjavascriptファイルで:

$('.advanced-reset-btn').click(function() { $('#your-form')[0].reset() })
于 2013-03-18T14:45:36.063 に答える
1

jqueryまたはjavascriptを使用して、クリック時にフォームをリセットする $('#form_id')[0].reset();か、このように手動で値を休ませることができます。$("#form_id").find("input[type=text], textarea").val("")

于 2013-03-18T14:45:36.563 に答える
1

jquery val() 関数は、要素のプロパティに対して機能します。属性を消去してみてください。

$('フォーム入力').attr("値", "");

于 2014-10-09T08:29:13.510 に答える