[英]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.