繁体   English   中英

没有提交按钮如何提交表格

[英]How to submit form without submit button

我正在尝试提交没有提交按钮的表格。 我使用以下代码提交:document.forms ['form_id']。submit(); 但是此代码一遍又一遍地提交。 我只想提交一次

<form method="POST" id="form_id">
<input type="hidden" id="lan" value="" name="number">
</form>


 <script type="text/javascript">

 document.forms['form_id'].submit();

 </script>

每次加载javascript时(即每次加载页面时),表单都会自行提交。 表单的默认行为是提交到您当前所在的位置(如果未定义),则是连续将表单提交到具有该表单的页面,然后再次提交该表单。

如果您只希望一次提交,例如,当一个访问者被(重定向)到该页面时,您应该使用表单的action属性来提交另一个页面。

如果您希望根据用户的请求进行提交,请将您的提交包装在由按钮上的onclick事件或任何其他事件调用的函数中。

<script>
    function submittheform(){
        document.forms['form_id'].submit();
    }
</script>

<form method="POST" id="form_id" action="someHandlerUrl">
    <input type="hidden" id="lan" value="" name="number"/>
    <input type="button" onclick="submittheform()" value="submit the form"/>
</form>

您可以在构建页面的PHP中使用此脚本;

<?php
if(isset($_POST['number'])){
    $number = $_POST['number'];
    $out = '<h1>The form was submitted</h1>';
}else{
    $out = '
    <h1>The form needs to be submitted</h1>
    <form method="POST" id="form_id">
        <input type="hidden" id="lan" value="" name="number">
    </form>
    <script type="text/javascript">
        document.forms[\'form_id\'].submit();
    </script>
    ';
}

echo $out;

?>

提交表单并显示数字值后,它将显示一个没有脚本和表单的页面。

<form method="POST" action="" id="mailform">
<input type="email" name="mail" placeholder="EMAIL" id="mail">
<div id="sub" onclick="mailsubmit()">Click Me to Submit</div>
</form>
<script type="text/javascript">
function mailsubmit(){
document.getElementById("mailform").submit();
var mailid = document.getElementById("mail").value;
return mailid?alert(mailid):alert("You did not submit your Email");
}
</script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM