我在 MVC3 项目中从表单调用 JS 方法时遇到问题:我有一个“搜索”页面,没有带有两个按钮的表单 - 搜索和取消。点击搜索运行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。
什么可能是问题的根源,我怎样才能获得与 onclick 相同的 onsubmit 行为?