Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 为什么';我的表格不是自动提交的吗?_Javascript_Forms_Submit - Fatal编程技术网

Javascript 为什么';我的表格不是自动提交的吗?

Javascript 为什么';我的表格不是自动提交的吗?,javascript,forms,submit,Javascript,Forms,Submit,我看不出有什么问题,submit()不再有效了吗 <html> <head> <title>This is the title</title> <script type = "text/javascript"> function onLoad() { document.getElementById("input1").value="text1"; docu

我看不出有什么问题,
submit()
不再有效了吗

<html>
<head>
    <title>This is the title</title>
    <script type = "text/javascript">

        function onLoad() {
            document.getElementById("input1").value="text1";
            document.getElementById("input2").value="text2";
            document.getElementById('form').submit();
        }

    </script>
</head>
<body onload="onLoad();">
<form method="post" name="form" id="form" action="test.txt">
    <label for="input1">Input1</label> <input id="input1" name="input1" type="text"/>
    <label for="input2">Input2</label> <input id="input2" name="input2" type="text"/>
    <input name="submit" id="submit" value="submit" type="submit"/>
</form>
</body>
</html>

这是标题
函数onLoad(){
document.getElementById(“input1”).value=“text1”;
document.getElementById(“input2”).value=“text2”;
document.getElementById('form').submit();
}
输入1
输入2

如果您没有
name
ed您的提交按钮
submit
这会破坏方法定义

您的问题是该按钮名为submit,hs id submit。改变这一点,它就会起作用。 您使用提交按钮元素重写了提交功能。

试试这个

<html>
<head>
    <title>This is the title</title>
    <script type = "text/javascript">
        function Test() {
            document.getElementById("input1").value="NewValue1";
            document.getElementById("input2").value="NewValue2";
            document.getElementById('form').submit();
        }

    </script>
</head>
<body onload="Test();">
<form method="post" name="form" id="form" action="new.html">
    <label for="input1">Input1</label> <input id="input1" name="input1" type="text"/>
    <label for="input2">Input2</label> <input id="input2" name="input2" type="text"/>
    <input name="submit" id="submit" value="submit" type="submit"/>
</form>
</body>
</html>

这是标题
功能测试(){
document.getElementById(“input1”).value=“NewValue1”;
document.getElementById(“input2”).value=“NewValue2”;
document.getElementById('form').submit();
}
输入1
输入2

检查javascript控制台是否有错误使用表单[0]而不是表单名称不是一个好主意。@MK-我不同意,一个与XHTML兼容的页面应该只有一个表单(除非脚本位于外部JS文件上,而它不是)。@RPM没有人提到XHTML,在我使用的所有浏览器中,
document.forms
是一个DOM元素数组,没有“form”对象不是DOM对象。因此,您的评论是错误和误导的-表单对象是一个DOM对象-调用submit按钮submit仍然会破坏
submit
方法。我已经在chrome和FF上测试了您的解决方案,它会产生与OPs相同的错误code@tobyodavies-纠正得很好。我已经删除了我的评论。我刚刚发现了正确的答案,这正是你所说的,我必须用type=“submit”去掉输入标签中的name和id属性。有人能发布正确的代码示例吗?答案非常混乱。Change