首页  >  问答  >  正文

Javascript 提交不包含提交按钮值

好吧,这不是一个问题,而只是为了我的信息(因为我可以想到大约 4 种不同的解决方法可以使其工作。但是我有一个表单(没什么特别的),但是提交按钮有与之相关的特定值。

<input type='submit' name='submitDocUpdate' value='Save'/>

提交表单后,我会检查该名称。

if(isset($_POST['submitDocUpdate'])){ //do stuff

但是,有一次我尝试通过 Javascript 提交表单,而不是提交按钮。

document.getElementById("myForm").submit();

除了 1 个问题外,一切正常。当我查看通过 javascript 方法提交的 $_POST 值时,它不包括 SubmitDocUpdate。我获得了表单的所有其他值,但没有获得提交按钮值。

就像我说的,我可以想出几种方法来解决它(使用隐藏变量,检查另一个表单变量上的 isset 等),但我只是想知道这是否是 Submit() 的正确行为,因为对我来说这似乎不太直观。提前致谢。

P粉957661544P粉957661544362 天前501

全部回复(2)我来回复

  • P粉131455722

    P粉1314557222023-10-23 00:29:15

    使用 jQuery 1.0 或更高版本:

    $('input[type="submit"]').click();

    当我偶然发现这篇文章时,我实际上正在解决同样的问题。不带任何参数的 click() 会在您选择的任何元素上触发单击事件: http://api.jquery.com/click/

    回复
    0
  • P粉466290133

    P粉4662901332023-10-23 00:26:28

    是的,这是 HTMLFormElement.submit()

    的正确行为

    未发送提交按钮值的原因是 HTML 表单的设计是为了发送被单击(或以其他方式激活)的提交按钮的值。这允许每个表单有多个提交按钮,例如您需要“预览”和“保存”操作的场景。

    由于您以编程方式提交表单,因此在单个提交按钮上没有显式的用户操作,因此不会发送任何内容。

    回复
    0
  • 取消回复