繁体   English   中英

如何使用javascript发布表单变量,就像type =“submit”按钮一样

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM