按下回车键触发了错误的提交按钮。

5

我正在开发一个MVC应用程序。两个表单各有一个提交按钮。Table1默认支持回车键提交。如何根据文本框焦点更改提交按钮?

<table>
...<td align="left"><%= Html.TextBox("name")%></td>
...<input id="nameSubmit" name="NameSubmit" type="submit" value="Search"/>
</table>
<table>
...<td align="left"><%= Html.TextBox("idNum")%></td>
...<input id="idSubmit" name="IdSubmit" type="submit" value="Search"/>
</table>

我尝试使用面板,但是出现了“'Panel1'的DefaultButton必须是IButtonControl类型的控件ID”的错误信息。
有什么想法吗?

2
可能是如何确定HTML表单上的默认提交按钮?的重复问题。 - Darin Dimitrov
@zzzzBov 让我们考虑一下“踩票”按钮上的工具提示:“这个问题不清楚或者没有用”。给提问者一个喘息的机会。:P - Dan J
@dajcobson,我之前遇到过这个问题;你可以在这里阅读我关于滥用表格元素的策略 - zzzzBov
@zzzzBov - 我只是想简单描述一下我正在处理的问题。如果你认为它不值得点赞,没问题。 - MrM
@zzzzBov,感谢您阐明了您的政策。我仍然不同意它。正如原帖中所说,我已经认识到了这一点。 - Dan J
1个回答

6
如果你将每个提交按钮包裹在<form>标签中,就可以确定哪个提交按钮被点击了,具体如下:
<table>
    <form id="form1">
        <td align="left"><input id="name" /></td>
        <input id="nameSubmit" name="NameSubmit" type="submit" value="Search"/>
    </form>       
</table>
<table>
    <form id="form2">
        <td align="left"><input id="number" /></td>
        <input id="idSubmit" name="IdSubmit" type="submit" value="Search"/>
    </form>
</table>

这将使得在文本框聚焦时按下Enter键会提交到相应的表单。 这里有一个演示,希望能对您有所帮助。

我实际上正在寻找的是......这解决了手头的问题。谢谢! - MrM
这对我来说不起作用,它使用了破坏的ctl词提交。.search.aspx?ctl00%24brand=asd - bh_earth0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接