你如何确定用jQuery提交表单的提交?

时间:2012-03-30 17:58:09

标签: javascript jquery forms

请记住,用户无需单击提交输入。他们可以选择它并按下输入。

因此,考虑到提交表单的所有方式,如何确定在提交事件中使用哪一个表单。我在两个提交元素上有不同的名称。

2 个答案:

答案 0 :(得分:4)

任何触发提交按钮的操作 - 无论是实际的鼠标点击还是某些键盘操作 - 仍然会触发“点击”事件,并仍然会将输入作为表单参数包含在内。

也就是说,如果您看到带有输入字段名称和值的表单参数,则表示您已单击该提交按钮。

编辑 - 如果表单提交因为您在文本字段中单击“Enter”而发生,则浏览器会选择第一个提交按钮(我认为;这似乎是Firefox至少做了什么)。 (等等;刮开; Firefox似乎在按下“Enter”时有焦点的元素后找到下一个“提交”输入...)

因此:

<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”成为参数之一。

在任何一种情况下,只有一个“提交”输入显示在参数列表中。

答案 1 :(得分:1)

使用不同的值,而不是使用不同的名称,例如:

<input type="submit" name="submit" value="Submit A">
<input type="submit" name="submit" value="Submit B">

如果您希望标签与值不同,您也可以使用按钮而不是输入。