问题很简单:
当Ajax.BeginForm()在输入时忽略表单提交按?
在没有<input type="submit">
(直通)输入键的情况下提交表单可能,如果符合以下情况:
<input type="text">
类型中只有一个 html元素(textarea不起作用)。
如果出现输入键,则表单可能不会提交
<input type="text">
类型的格式中有多个html元素,没有<input type="submit">
答案 0 :(得分:2)
它为我的问题提供了解决方案: -
问题: - 在我的视图MVC应用程序窗体中,我只有单个文本框,单个textArea,其他html输入字段和一个type = button按钮。当我按下文本框中的输入键时,它会触发回发,这对我来说是个问题。
解决方案: - 从上面的基督教解决方案中,我发现当mvc中有一个与html.Beginform标签一起使用的文本框时,回车键按下事件会触发提交按钮事件。可能这不是我应该在这里发布的答案,但我很高兴从这篇文章找到解决方案,这就是我在这里发布答案的原因。
答案 1 :(得分:1)
首先确保表单中有一个提交按钮。 如果您不希望在表单上有任何提交按钮(虽然它有点奇怪,但确定),您可以添加一个提交按钮并将其隐藏如下:
<div class="hidden-submit"><input type="submit" tabindex="-1"/></div>
然后在CSS文件中:
.hidden-submit {
border: 0 none;
height: 0;
width: 0;
padding: 0;
margin: 0;
overflow: hidden;
}
另一种解决方案是在Javascript中添加以下内容:
$(window).keypress(function (event) {
if (event.which == 13) {
document.forms[0].submit();
// assuming that you have just one form on the whole page
}
});