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

Pol*_*pel 3 html javascript php

我是一名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">
Run Code Online (Sandbox Code Playgroud)

当您按下标签内的"提交"按钮时 - php代码将回显"hello world".使用JS提交表单时,值不会发布到页面.我究竟做错了什么?

提前致谢.我整个下午都搜索了一个解决方案,但由于我对编程缺乏了解,我找不到它.

Ja͢*_*͢ck 6

信不信由你,但主要问题在于:

<input id="submit" name="submit" type="submit">
Run Code Online (Sandbox Code Playgroud)

如果表单包含带有名称(或id)的输入元素,submit则会掩盖.submit()表单元素的方法,因为.submit它将指向按钮而不是方法.只需将其更改为:

<input name="go" type="submit">
Run Code Online (Sandbox Code Playgroud)

另见:备注form.submit()

较小的问题在这里:

<a href="" onClick="formsubmit()">Click me</a><br/>
Run Code Online (Sandbox Code Playgroud)

在调用之前,空锚将再次请求同一页面formsubmit().只需添加href="#".

  • 我也相信你不能用`submit`作为名字.`<input name ="something_besides_submit"type ="submit">`[**看看这个jsFiddle**](http://jsfiddle.net/QttUk/) (2认同)