在页面加载时自动提交表单

时间:2016-10-06 04:56:38

标签: javascript ajax forms

我正在尝试在页面加载时提交表单。

<?php if($abc == $xyz){ ?>
<form action="register.php" id="testform">
...form content...
</form>
<?php }  else{ ?>
Error
<?php } ?>

<script type="text/javascript">
window.onload = function(){
document.getElementById('testform').submit();
};
</script>

自动提交表单工作正常,但在提交时会重新检查条件<?php if($abc = $xyz){ ?>。如何阻止它再次执行相同的操作?

2 个答案:

答案 0 :(得分:1)

当你使用document.getElementById('testform')。submit(); 页面将重新加载,为什么它重新检查条件 为避免页面重新加载,您可以使用ajax提交数据来register.php操作。 使用Jquery的示例Ajax

$.ajax({
  method: "POST",
  url: "register.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
  });

希望有所帮助!

答案 1 :(得分:1)

如果你可以使用Jquery,这是jquery的答案。

这个是使用jquery post请求,但忽略了响应。

window.onload = function(){
    $.post('server.php', $('#testform').serialize())
};

这是使用jquery post请求,但使用响应。

window.onload = function(){

    var url = "register.php"; 

    $.ajax({
           type: "POST",
           url: url,
           data: $("#testform").serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data);
           }
         });

    return false; // avoid to execute the actual submit of the form.
}); 

Complete reference of jquery form submit