基于ajax响应提交循环提交,如何正确调用本机提交?

时间:2017-10-29 09:17:52

标签: javascript jquery ajax forms submit

我有一个表单,其中提交的继续取决于ajax响应。

    $('#restaurant_form').on('submit', function(e) {
        e.preventDefault();
        fetchRestaurant(); // Checks if restaurant is already registered
    });

fetchRestaurant(),当餐厅不存在时,我称之为继续:

$('#restaurant_form').submit();

但是我有一个循环,其中似乎触发了提交的事件处理程序。如何正确调用本机提交?

1 个答案:

答案 0 :(得分:0)

不要使用preventDefault方法,以非提交循环结束。使用return。

<form onsubmit="return validateRestaurant(this)">
  ...
</form>

<script src="https://unpkg.com/jquery@3.2.1/dist/jquery.min.js"></script>

<script>
  function validateRestaurant (form) {
    $.get('fetchRestaurant.php')
     .then(function (restaurant) {
        if (restaurant.exists) form.submit()
      })
    return false
  }
</script>