1

我在尝试向其提交数据的远程服务器上有一个表单,示例如下

<html>
<head>
</head>
<form  action="http://www.example.com/post.php"  method="post">
<input type="text" name="input1" value="test1"  />
<input type="text" name="input2" value="test2"  />
<input type="submit" name="send" value="Submit" />
</form>
</body>
</html>

我正在尝试像这样自动提交数据

<html>
<head>
</head>
<form  action="http://www.example.com/post.php"  method="post">
<input type="text" name="input1" value="test1"  />
<input type="text" name="input2" value="test2"  />
<script type="text/javascript"> 
 document.forms[0].submit(); 
</script> 
</form>
</body>
</html>

如果第一个示例没有 (name="send") 名称,但它确实有名称,则它可以正常工作。我的问题是我将如何使用具有名称的输入按钮发送数据。

谢谢

4

2 回答 2

2

注意:答案原来是type="hidden"代替type="submit",其中第二个不允许 DOM 提交,同时还在inputGET/POST 数据中提交该值。type="hidden"确实如此,并且它在这里有效,因为不需要物理单击该按钮。


选一个:

<form name="formname" id="formid" action="http://www.example.com/post.php" method="post">
<input type="text" name="input1" value="test1"  />
<input type="text" name="input2" value="test2"  />
<input type="submit" name="send" value="Submit" />
</form>
<script type="text/javascript">
if (confirm('Ok for "formname", Cancel for "getElementById"')) {
    console.log('document.formname.submit()');
    document.formname.submit();
} else {
    console.log('document.getElementById("formid").submit()');
    document.getElementById('formid').submit();
}
</script> 

http://jsfiddle.net/userdude/EAmwj/3

于 2012-08-15T00:18:33.930 回答
2

您的 JavaScript 代码将在页面加载后立即执行。这就是为什么它会立即提交。

您需要将 JS 代码包装在一个函数中,并让事件从页面调用它。

您可以使用常规按钮并为按钮的 onclick 事件设置功能。


<html>
<head>

<body>
<form  action="http://www.example.com/post.php"  method="post">
<input type="text" name="input1" value="test1"  />
<input type="text" name="input2" value="test2"  />
<input type="button" name="send" value="test2" onclick="doSubmit()"  />

<script type="text/javascript"> 
function doSubmit() {
 document.forms[0].submit(); 
}
</script> 
</form>
</body>
</html>
于 2012-08-15T00:42:20.937 回答