如果满足某些条件,如何提交表格。

时间:2017-08-27 06:14:50

标签: javascript jquery ajax



		
$("form.formajax").submit(function(e) {

e.preventDefault();

var data = $(this).serialize();
var url = $(this).attr("action");
var form = $(this); // Add this line
$.post(url, data, function(data) {


$(form).children(".loginresult").html(data.loginresult);

if (data.success == 1) 
	{
  // SUBMIT the form here with POST Values (and redirect user)
  }



});
return false;
});

      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


  <form class="login formajax" action="abc.php" method="post">
    <input type="email" >
    <input type= "password">
    <input type="submit">
    </form>
&#13;
&#13;
&#13;

这是我使用Ajax提交表单的代码。它返回一些值。

它还会返回10,其名称为data.success

如果满足此条件if (data.success == 1)

我想提交表单(重定向用户+提交帖子值),但是如何?

2 个答案:

答案 0 :(得分:0)

成功提交表单后,您可以重定向。

您可以使用jQuery#serialize

它将使用key=value1 & key2-value2

序列化表单数据
$("form.formajax").submit(function(e) {

    e.preventDefault();

    var data = $(this).serialize();
    //somecode
    $.post(url, data, function(data) {

        if (data.success == 1) {
            var myNewUrl = "some_url ?" + data;
            //myNewUrl will be `url?key=value1 & key2-value2`
            $(location).attr('href', myNewUrl); //jQuery

        }
    });
    return false;
});

在重定向页面上,您可以检索查询字符串值

答案 1 :(得分:0)

您可以在表单上使用.submit()功能提交表单。所以可以使用这两个语句中的任何一个来完成:

$(this).submit(); // Since you are inside an event handler on the form.

或者,

$(".login").submit(); // Since login is the css class on the form.

然后,正如here所述,您可以将表单提交完成事件视为:

$("form.formajax").bind('ajax:complete', function() {...});

&#13;
&#13;
$("form.formajax").submit(function(e) {

  e.preventDefault();

  var data = $(this).serialize();
  var url = $(this).attr("action");
  var form = $(this); // Add this line
  $.post(url, data, function(data) {


    $(form).children(".loginresult").html(data.loginresult);

    if (data.success == 1) {
      // SUBMIT the form here with POST Values (and redirect user)
      $(this).submit();
    }
  });
  return false;
});

// Wait for form submission.
$("form.formajax").bind('ajax:complete', function() {
  alert("Redirect the user here.");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<form class="login formajax" action="abc.php" method="post">
  <input type="email">
  <input type="password">
  <input type="submit">
</form>
&#13;
&#13;
&#13;