Javascript提交不包含“提交”按钮值
收藏

好的,这不是一个问题,而仅是供我参考(因为我可以想到4种不同的解决方法可以使它起作用。但是我有一个表单(没什么特别的),但是Submit按钮具有特定的值与之相关。

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

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

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

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

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

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

就像我说的,我可以想到一些解决它的方法(使用隐藏变量,检查另一个表单变量上的isset等等),但是我只是想知道这是否是Submit()的正确行为,因为它看起来更少对我来说很直观提前致谢。

最佳答案

Yes, that is the correct behavior of HTMLFormElement.submit()

未发送提交按钮值的原因是HTML表单的设计使其可以发送被单击(或已激活)的提交按钮的值。这样可以在每个表单中使用多个提交按钮,例如您希望同时执行“预览”和“保存”操作的情况。

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

    公众号
    关注公众号订阅更多技术干货!