如何使用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 ....
这段代码适合我。