请记住,用户不必单击submit nput。他们可以跳转到它,然后按回车键。
因此,考虑到提交表单的所有方式,您如何确定在提交事件中使用了哪种方式来提交表单。我在两个提交元素上有不同的名字。
发布于 2012-03-31 02:13:19
任何触发提交按钮的操作--无论是实际的鼠标单击还是某个键盘操作--仍然会触发" click“事件,并且仍然会导致输入作为表单参数包括在内。
也就是说,如果您看到一个包含输入字段名称和值表单参数,您就知道单击了submit按钮。
编辑-如果表单提交是因为你在文本字段中点击了"Enter“,浏览器会选择第一个提交按钮(我想;这似乎是Firefox至少要做的)。(等等;划掉它;Firefox似乎在按下"Enter“时具有焦点的元素之后找到下一个"submit”输入...)
因此:
<form action='whatever' method='post'>
<input type='text' name='text'>
<input name='submit1' value='submit1' type='submit'>
<input name='submit2' value='submit2' type='submit'>
</form>在文本字段中点击"Enter“将导致"submit1=submit1”成为表单参数,当"submit1“具有焦点时也会点击"Enter”。切换到"submit2“并点击"Enter”将导致参数中包含"submit2=submit2“。
在这两种情况下,参数列表中只有一个"submit“输入出现。
发布于 2012-03-31 02:17:41
使用不同的值,而不是使用不同的名称,例如:
<input type="submit" name="submit" value="Submit A">
<input type="submit" name="submit" value="Submit B">如果您希望标签与值不同,也可以使用按钮而不是输入。
https://stackoverflow.com/questions/9948110
复制相似问题