如何使用JavaScript提交表单?

我有一个窗体与id theForm有一个提交button里面的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更改为“正在处理…”(所以提交button现在不见了)。

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

 document.theForm.submit(); 

但是这不起作用。

我怎样才能让表单提交?

将您的表单的name属性设置为"theForm" ,您的代码将工作。

您可以使用…

 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); 
 document.getElementById("form1").submit(); 

在我的情况下,它是完美的。

你可以在function上也使用它,

 function formSubmit() { document.getElementById("form1").submit(); } 
 document.forms["name of your form"].submit(); 

要么

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

你可以尝试任何这..这将确定工作..

 //Take form name as "theForm" //Example: ## ----Html code----- ## <form method="post" action="" name="theForm"> <button onclick="placeOrder()">Place Order</button> </form> ## -------javascript code------ ## function placeOrder(){ document.theForm.action="yourUrl"; document.theForm.submit(); } 

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

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

这是一个旧的post,但我会离开我提交表单的方式,而不使用name标签内的forms:

HTML

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

JS

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

希望这个解决scheme可以帮助别人。 TQ

我已经想出了一个简单的解决scheme,使用隐藏在我的网站上的一个简单的forms,与用户login相同的信息。 示例如果您希望用户在此表单上login,可以在下面的表单中添加如下内容。

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

据我所知,我是第一个隐藏表单并通过点击链接提交。 有链接提交一个隐藏的表格与信息。 如果您不喜欢网站上的自动login方法,并且密码位于隐藏表单密码文本区,则不是100%安全的。

好的,这是工作。 可以说$siteid是帐户, $sitepw是密码。

首先在你的php脚本中创build表单,如果你不喜欢html,那么使用最小数据然后以隐藏的forms回显值。 我只是使用php值,并在任何地方回声,我想要的表单button旁边的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 side. //Table is styled to have previous btn on left and next on right botton <form method="post" action="#"> <table style='width:50% ;height:50%;border: 3px solid #00BABF;' align='center'> ... <tr id="trButton" > <td id="tdBefore" colspan='4'> <input id="btnPrev" class='btn_submit' type="submit" name="submitPrevious" value="Previous" disabled style="float: left;"> <input id="btnNext" class='btn_submit' type="submit" name="submitNext" value="Next"disabled style="float: right;"> </td> </tr> </table> </form> //Js side $('.btn_submit').on( 'click', function() { var objEvent=$(this); if(objEvent.attr('name')==='submitNext'){ $('form').attr('action','stepNext.php');//Use $('#formId')... if is there more than one } else if(objEvent.attr('name')==='submitPrevious'){ $('form').attr('action','stepPreviuos.php'); } return true; }); //End of $('.btn_submit').on( 'click', func .... 

这段代码适合我。