Chr*_*nes 9 html javascript dhtml
有没有办法确定哪个元素在onsubmit处理程序中提交了一个表单?试图编写一个知道点击了哪个元素的通用处理程序.例如,给定以下形式:
<form onsubmit="onSubmitHandler">
<input type="submit" name="submit1" />
<input type="submit" name="submit2" />
</form>
Run Code Online (Sandbox Code Playgroud)
如何在onSubmitHandler中确定单击了哪个提交按钮?我尝试了event.target/event.srcElement,但它提供了表单,而不是实际的提交按钮.
更新:我在这里写一个通用控件,所以它不知道表单上有什么.解决方案需要在不知道和更改表单的html的情况下工作.我的后备是走DOM,找到可能导致提交的所有按钮,但我想避免这种情况.
另一种解决方案是将事件触发器从表单的提交事件移至提交元素的 onclick 事件,如下所示:
<form name='form1'>
<input type="submit" name="submit1" onclick="onSubmitHandler"/>
<input type="submit" name="submit2" onclick="onSubmitHandler"/>
</form>
Run Code Online (Sandbox Code Playgroud)
在处理函数中,您只需检查事件目标的名称即可确定提交元素,如果您需要访问表单的信息或其他元素,则可以从提交元素的“form”属性中获取。