0

购物车表单包含带有 ajax 提交的验证表单。如果验证失败,将出现 alert() 框并取消提交。return false 如果验证失败,则不再调用提交方法。随后单击按钮将被忽略。

只有第一次单击绿色Lisa ostukorvi按钮会导致警报框。随后的点击被忽略,submit() 事件不会触发。这发生在 IE10、FireFox 和 Chrome 中。如何解决这个问题?

<script>
var request;
$(function() {
$(".browse-addtocart-form").submit(function(event){
    if (request) {
        request.abort();
    }
    var $form = $(this);
    var $inputs = $form.find("input, select, button, textarea");
    var serializedData = $form.serialize();
    var q = parseInt(this.quantity.value, 10);
    if(isNaN(q) || q === 0){
      alert('Fill quantity');
      $(this.quantity).focus();
      // TODO: Why this causes submit event not to occur on subsequent clicks:
      return false;
      }

    request = $.post('/AddToCart', serializedData );
    return false;
    });
   });
</script>


 <form class='browse-addtocart-form' action="/AddToCartPost" method="post">
<input type="submit" value="Add to cart" class='button green small bigrounded' />
</form>
</html>

使用 jquery、jquery-ui、ASP .NET MVC2。

4

1 回答 1

0

嗨,你应该使用这样的点击函数 $("#submitId").click(function () { /* your code*//}); 并给你的提交按钮一个 id

于 2013-04-25T11:53:52.653 回答