2016-04-19 12 views
2

私はボタンを押したときにJS機能を実行するボタンがあるフォームを持っています。フォームに記入するときに、「入力」を押すとフォームを送信するのではなく、その機能が実行されます。どうすればこれを防ぐことができますか?フォームのボタンを押してから「入力」キーを押さないようにするには

上記の例ではそう

<form> 
 
    <input name="input1"> 
 
     <section> 
 
      <input name="input2"> 
 
      <button onclick="return deleteThisSection()">Delete</button> 
 
     </section> 
 
    <input type="submit"> 
 
</form>
、カーソルが「INPUT1」または「INPUT2」ボックス内にある、と私はするのではなく、「deleteThisSection」機能が実行され、Enterキーを押した場合フォームが提出されます。

+0

フォームを送信しますか? – epascarello

+0

これは面白いブラウザの動作です:Enterを押すと、Deleteボタンのonclickとフォームの送信が開始されます。 – amphetamachine

+2

ボタンはデフォルトで 'type =" submit "' – epascarello

答えて

1

あなたは、フォームのイベントを提出するあなたの機能を追加することができます。
$('form').submit(function (e) { e.preventDefault(); deleteThisSection(); //Add your code or call function here return false; });

2

は、ボタンの種類としては、このボタンを宣言します。デフォルトではfromのボタンは type="submit"

と宣言されています。

 <button type="button" onclick="return deleteThisSection()">Delete</button> 
+0

@amphetamachine ty – osanger

+0

ありがとう、これは完璧に機能しました –