我有一个id theForm的表单,里面有以下div和提交按钮:

<div id="placeOrder"
     style="text-align: right; width: 100%; background-color: white;">
    <button type="submit"
            class='input_submit'
            style="margin-right: 15px;"
            onClick="placeOrder()">Place Order
    </button>
</div>

单击时,将调用placeOrder()函数。该函数将上述div的innerHTML更改为“processing…”(所以提交按钮现在没有了)。

上面的代码工作,但现在的问题是,我不能让表单提交!我试着把这个放在placeOrder()函数中:

document.theForm.submit();

但这行不通。

我怎样才能提交表单?


你可以用…

document.getElementById('theForm').submit();

...但是不要替换innerHTML。你可以隐藏表单,然后插入一个处理…Span会出现在原来的地方。

var form = document.getElementById('theForm');

form.style.display = 'none';

var processing = document.createElement('span');

processing.appendChild(document.createTextNode('processing ...'));

form.parentNode.insertBefore(processing, form);

将表单的name属性设置为“theForm”,代码就可以工作了。


它在我的情况下非常有效。

document.getElementById("form1").submit();

同样,你可以在函数中使用它,如下所示:

function formSubmit()
{
    document.getElementById("form1").submit();
}

document.forms["name of your form"].submit();

or

document.getElementById("form id").submit();

你可以尝试其中任何一种……这肯定有用……


如果你的表单没有任何id,但是它有一个类似theForm的类名,你可以使用下面的语句来提交它:

document.getElementsByClassName("theForm")[0].submit();

我想出了一个简单的解决方案,使用一个简单的表单隐藏在我的网站上,用户登录时使用的信息相同。示例:如果您希望用户在此表单上登录,您可以在下面的follow表单中添加如下内容。

<input type="checkbox" name="autologin" id="autologin" />

据我所知,我是第一个隐藏表单并通过点击链接提交它的人。这里有一个提交包含信息的隐藏表单的链接。这不是100%安全,如果你不喜欢自动登录方法,你的网站上的密码坐在一个隐藏的形式密码文本区域…

好的,这就是工作。假设$siteid是帐户,$sitepw是密码。

首先在PHP脚本中创建表单。如果您不喜欢在其中使用HTML,请使用最少的数据,然后在隐藏表单中回显该值。我只是使用一个PHP值,并在任何我想要的pref旁边的窗体按钮,因为你看不到它。

要打印的PHP表单

$hidden_forum = '
<form id="alt_forum_login" action="./forum/ucp.php?mode=login" method="post" style="display:none;">
    <input type="text" name="username" id="username" value="'.strtolower($siteid).'" title="Username" />
    <input type="password" name="password" id="password" value="'.$sitepw.'" title="Password" />
</form>';

PHP和链接提交表单

<?php print $hidden_forum; ?>
<pre><a href="#forum" onClick="javascript: document.getElementById('alt_forum_login').submit();">Forum</a></pre>

HTML

<!-- change id attribute to name  -->

<form method="post" action="yourUrl" name="theForm">
    <button onclick="placeOrder()">Place Order</button>
</form>

JavaScript

function placeOrder () {
    document.theForm.submit()
}

我将保留我提交表单的方式,而不使用表单内部的名称标签:

HTML

<button type="submit" onClick="placeOrder(this.form)">Place Order</button>

JavaScript

function placeOrder(form){
    form.submit();
}

你可以使用下面的代码使用JavaScript提交表单:

document.getElementById('FormID').submit();

<html>

    <body>

        <p>Enter some text in the fields below, and then press the "Submit form" button to submit the form.</p>

        <form id="myForm" action="/action_page.php">
          First name: <input type="text" name="fname"><br>
          Last name: <input type="text" name="lname"><br><br>
          <input type="button" onclick="myFunction()" value="Submit form">
        </form>

        <script>
            function myFunction() {
                document.getElementById("myForm").submit();
            }
        </script>

    </body>
</html>