Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过包含名为submit的隐藏字段的submit事件提交表单_Javascript_Html_Web - Fatal编程技术网

Javascript 通过包含名为submit的隐藏字段的submit事件提交表单

Javascript 通过包含名为submit的隐藏字段的submit事件提交表单,javascript,html,web,Javascript,Html,Web,我有一个html表单,其中包含一个隐藏的输入元素,该元素具有name=“submit”: 当我将输入名称更改为除name=“submit”以外的任何其他名称时,将提交表单: <form method="post" action="url.php"> <input type="text" name="sometext" /> <input type="hidden" name="othername" value="go" /> </form> &

我有一个html表单,其中包含一个隐藏的输入元素,该元素具有
name=“submit”

当我将输入名称更改为除
name=“submit”
以外的任何其他名称时,将提交表单:

<form method="post" action="url.php">
 <input type="text" name="sometext" />
 <input type="hidden" name="othername" value="go" />
</form>
<button id="link">Click</button>
<script>
$("#link").click(function() {
 $("form").get(0).submit();
});
</script>

点击
$(“#链接”)。单击(函数(){
$(“表单”).get(0.submit();
});

问题是,当隐藏输入具有
name=“submit”

时,为什么不提交表单?您不能指定元素提交的名称。这是一种丁字型内模。正如您可能知道的,它会将表单的所有元素发送到操作。如果可能的话,我建议使用它调用PHP函数。submit()函数正在检查主要导致问题的“submit”按钮。如果您将其他内容命名为“提交”,则会检查输入数据

您不能指定元素提交的名称。这是一种丁字型内模。正如您可能知道的,它会将表单的所有元素发送到操作。如果可能的话,我建议使用它调用PHP函数。submit()函数正在检查主要导致问题的“submit”按钮。如果您将其他内容命名为“提交”,则会检查输入数据

根据:

命名输入作为属性添加到其所有者表单实例中,如果它们共享相同的名称,则可以覆盖本机属性(例如,具有名为action的输入的表单的action属性将返回该输入,而不是表单的action HTML属性)

因此,当您将按钮命名为
submit
时,将使用按钮的DOM对象覆盖表单的本机
submit
函数。因此,您对
form.submit()
的调用最终相当于
form.elements.submit.submit()
,它作为
form.elements.submit.submit()失败,实际上是
未定义的

,具体如下:

命名输入作为属性添加到其所有者表单实例中,如果它们共享相同的名称,则可以覆盖本机属性(例如,具有名为action的输入的表单的action属性将返回该输入,而不是表单的action HTML属性)


因此,当您将按钮命名为
submit
时,将使用按钮的DOM对象覆盖表单的本机
submit
函数。因此,您对
form.submit()
的调用最终相当于
form.elements.submit.submit()
,它失败为
form.elements.submit.submit
实际上是
未定义的

没有id为
链接的元素:
$(“#链接”)
。您在这里看到任何错误吗?请编辑您的问题并添加您正在谈论的错误。告诉你的医生你感到疼痛和告诉他/她疼痛的位置是不同的:)没有id为
链接的元素:
$(“#链接”)
。你在这里看到任何错误吗?请编辑您的问题并添加您正在谈论的错误。告诉你的医生你感到疼痛和告诉他/她疼痛的部位是有区别的:)
$("#link").click(function() {
 $("form").get(0).submit();
});
<form method="post" action="url.php">
 <input type="text" name="sometext" />
 <input type="hidden" name="othername" value="go" />
</form>
<button id="link">Click</button>
<script>
$("#link").click(function() {
 $("form").get(0).submit();
});
</script>