[英]How to post form variables with javascript, just like a type=“submit” button
我是一名noobie程序员,我想知道如何使用javascript正确提交表单。
我制作了一些测试代码来告诉你我的意思:
<?php
if (isset($_POST['message']))
{
echo $_POST['message'];
}
?>
<script>
function formsubmit()
{
document.getElementById('form').submit();
}
</script>
<form id="form" name="form" action="" method="post">
<input id="message" name="message" value="hello world">
<input id="submit" name="submit" type="submit">
</form>
<a href="" onClick="formsubmit()">Click me</a><br/>
<input type="submit" onClick="formsubmit()" value="Click me">
当您按下标签内的“提交”按钮时 - php代码将回显“hello world”。 使用JS提交表单时,值不会发布到页面。 我究竟做错了什么?
提前致谢。 我整个下午都搜索了一个解决方案,但由于我对编程缺乏了解,我找不到它。
信不信由你,但主要问题在于:
<input id="submit" name="submit" type="submit">
如果表单包含名称(或id)为submit
的input元素,它将屏蔽表单元素的.submit()
方法,因为.submit
将指向按钮而不是方法。 只需将其更改为:
<input name="go" type="submit">
另请参见: form.submit()
注释
较小的问题在这里:
<a href="" onClick="formsubmit()">Click me</a><br/>
在调用formsubmit()
之前,空锚将再次请求同一页面。 只需添加href="#"
。
这里的问题是表单上输入元素的id和名称称为submit。
这将掩盖表单的提交功能。 更改名称和ID,您将能够使用javascript提交表单。
尝试将“href”设置为“#”。 我猜想发生了什么,通过点击链接,它提交表单,并立即将网址更改为你有机会去取消表单提交的同一页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.