如何使用JavaScript提交表单?

我有一个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();

但这行不通。

我怎样才能提交表单?

924243 次浏览

你可以用…

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();

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,使用最少的数据,然后用隐藏的形式在值中echo。我只是使用一个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>

超文本标记语言

<!-- 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()
}

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

超文本标记语言

<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>