我是一个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提交表单时,值不会发布到页面。我做错了什么?
提前致谢。 我整个下午都搜索了一个解决方案,但由于我对编程缺乏了解,我找不到它。
答案 0 :(得分:6)
信不信由你,但主要问题在于:
<input id="submit" name="submit" type="submit">
如果表单包含名称(或id)为submit
的输入元素,则会掩盖表单元素的.submit()
方法,因为.submit
将指向按钮而不是方法。只需将其更改为:
<input name="go" type="submit">
问题在于:
<a href="" onClick="formsubmit()">Click me</a><br/>
在调用formsubmit()
之前,空锚只会再次请求同一页面。只需添加href="#"
。
答案 1 :(得分:1)
这里的问题是表单上输入元素的id和名称叫做submit。
这将掩盖表单的提交功能。更改名称和ID,您将能够使用javascript提交表单。
答案 2 :(得分:0)
尝试将“href”设置为“#”。我猜想发生的事情是,通过点击链接,它会提交表单并立即将网址更改为您在取消表单提交之前的同一页面。