0

私は次の形式のHTML構造を持っています

<div>
<form class="form-inline" style="padding-top:10px" action="javascript:function()">   <!-- a search bar-->
  <input id="id" type="text" " placeholder="Something">
   </form>

<button onClick="somefunction()"> b</button>
</div>

問題は、Enterキーを押したときに検索バーを機能させたいのですが、残念ながらボタン要素を送信しています。ボタンはフォーム要素ではなく、onClickを明確に定義しているため、少し混乱しています。私はjavascriptを初めて使用するので、小さなものだと確信していますが、解決できていません。

つまり、Enterキーを押すと、「function()」ではなく「somefunction()」がアクティブになります。

4

2 に答える 2

0

これを試して

HTML

<div>
    <form class="form-inline" style="padding-top:10px" action="someFile.php" onsubmit="return someFunc();"> 
        <input id="id" type="text" placeholder="Something">
        <input type="submit" name="btn_submit" value="Submit" /> 
    </form>
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

JS

function someFunc(){
    // code goes here
    return false;
}

ほんの一例です。

于 2012-08-14T21:50:35.330 に答える
0

here で説明されているように、フォーム内にボタンを配置し、onClickfalse を返す関数を呼び出すことができます。

編集

あなたの編集とあなたが望むものに関するあなたのコメントに従って、次のことを行うことができます:

<html>
<head>
    <script>
        function formfunction(){
            alert("form function is called.");
        }
        function somefunction(){
            alert("the button is clicked.");
        }
    </script>
</head>
<body>
<div>
<form name="myform" action="#" onsubmit="formfunction(); return false;">
    <input id="id" type="text" placeholder="Something">
</form>
<button type="button" onClick="somefunction()"> b</button>
</form>
</div>
</body>
</html>
于 2012-08-14T21:47:45.297 に答える