MVC3プロジェクトのフォームからJSメソッドを呼び出す際に問題が発生しました。検索とキャンセルの2つのボタンがあるフォームのない「検索」ページがあります。ProductDefinitionで検索実行JS関数runSearchをクリックします。
<div id="productSearch-dialog" class="modal fade" style="width: 1000px; display: none">
<div class="modal-header">
<button class="close" aria-hidden="true" data-dismiss="modal" type="button">×</button>
<h3>Search Results</h3>
</div>
<div class="modal-body" style="height: 650px;">
<div>
<input id="inputname" type="text" /><font class="red-font" id="lblrequired" style="display: none">*</font>
</div>
<div id="searchresultcontain" class="grid">
</div>
<div id="Pagination" class="pagination">
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary" onclick="productDefinition.runSearch();">Search</button>
<button class="btn btn-primary" data-dismiss="modal">Cancel</button>
</div>
を押したときにこのJSメソッド(runSearch)を実行するにはどうすればよいですか?私の知る限り、これはフォームイベントであるonsubmitイベントになるので、onsubmitプロパティを持つフォーム要素を追加する必要があります。BeginFormヘルパーメソッドで入力フィールドを囲んでみました。
@using (Html.BeginForm(new { onsubmit = "productDefinition.runSearch();" }))
{
<input id="inputname" type="text" /><font class="red-font" id="lblrequired" style="display: none">*</font>
<input type="submit" value="Submit" style="visibility: hidden" />
}
しかし、機能していないようです。何らかの理由でEnterキーを押すと、ページのソースを取得してlocalhost /?onsubmit = productDefinition.runSearch()URLに到達します。
問題の原因は何であり、onsubmitでもonclickと同じ動作を得るにはどうすればよいですか?