2016-12-05 16 views
-4

私はPHPのページ 'search.php'を持っています。ページ内の1つのフォーム。私は1つの提出ボタンと1つのリセットボタンを持っています。リセットボタンは、フォームが送信される前に機能しますが、送信後は機能しません。フォームは、同じフォームを含む結果を表示するためにフォームの送信後に同じページ(search.php)にリダイレクトされます。誰かがこの問題の手掛かりを持っていますか?フォーム提出後のフォームでリセットボタンが機能しない

<form action="http://localhost:8888/search/validate_search" name="search" id="search" method="post" accept-charset="utf-8"> 
    <p> 
     <label for="name">Name</label> 
     <input type="text" name="name" id="name" value="" required="required"> 
    </p> 
    <p> 
     <label for="country">Country</label> 

     <select name="country[]" id="country"> 
      <option value="">Select</option> 
      <option value="Afghanistan" >Afghanistan</option><option 

value="Albania" >Albania</option><option value="Algeria" >Algeria</option><option value="American Samoa" >American Samoa</option><option value="Andorra" >Andorra</option><option value="Angola" >Angola</option><option value="Anguilla" >Anguilla</option>   </select> 

    </p> 
    <p id="nofloat"> 
     <input type="submit" name="searchButton" value="Search" id="searchButton" /> 
     <input type="reset" name="reset" value="Reset" id="reset123"/> 
    </p> 
    </form> 
+4

ショーのために働くだろう例です。私たちはコードをお願いします。 –

答えて

3

type='reset'の挙動は、フォーム要素をクリアすることではなく、ページがにロードされたときの初期/デフォルト値にそれらを返すように。フォームを送信した後で、送信された値をフォームの事前入力済み(初期値として設定)に戻すと、リセットボタンはフィールドを渡された値にリセットします。 「クリーン」状態。フォームを実際にクリアするには、Javascriptを使用する必要があります。ここで

は、あなたの質問に与えられたHTML ...

<script> 
function customReset() 
{ 
    document.getElementById("name").value = ""; 
    document.getElementById("country").value = ""; 
} 
</script> 

ただ、これにあなたのリセットボタンを変更...

<input type="button" name="reset" value="Reset" id="reset123" onclick="customReset();"/> 

Live Example

+0

私はJavaScriptの.reset()関数を使用しましたが、エラーを返します。 .reset()は関数エラーではありません。 –

+0

@ManikShakyaこれは、「リセット」という名前の要素があるためです。これはネイティブのJavascriptの 'reset()'関数をオーバーライドします。しかし、 'type = 'submit''入力フィールドと同じことをするので、あなたはその関数を使いたくありません。フィールドを明示的に空白値に設定するコードを記述する必要があります。アップデートを参照してください。 –

+0

ありがとう@Patrick Q –

関連する問題