【问题标题】:jquery to submit form only after condition is valid and display alert if notjquery仅在条件有效后提交表单,如果不是则显示警报
【发布时间】:2017-09-13 08:21:12
【问题描述】:

我有这个 jQuery 代码。我想找出是什么导致alertify.error() 在执行foreach 循环以查找文本框值的总和时显示多次。有人可以在这里帮助我。

$(document).ready(function() {
  $("form").submit(function(e) {
    e.preventDefault();
    var sum = claculateTotal();
    if ($("#TotalWeigh").val() != sum) {
      alertify.error('Total weigh should be equal to the sum of weigh of all leaf quality.');
      return false;
    } else {
      this.submit();
    }
  });

  function claculateTotal() {
    var sum = 0;
    $('.leafWeigh').each(function() {
      sum += Number($(this).val());
    });
    return sum;
  }
});

我的文本框 html 代码如下:

for (int i = 0; i < Model.boughtWeighingModel.Count(); i++)
{
  <tr>
    <td>
      @Html.TextBoxFor(model => Model.boughtWeighingModel[i].LeafQaualityWeight, 
         new { @class = "form-control leafWeigh" })
    </td>
  </tr>
}

【问题讨论】:

  • 它显示为validfalse。如果您需要更多帮助,那么我们需要查看您的 HTML。一个工作的 sn-p 也不会出错
  • $("#TotalWeigh").val() 不等于总和
  • @Pradip Shrestha,是否有任何其他事件正在触发表单提交?
  • 实际上,这里的问题是警报消息显示的次数与 foreach 执行的次数一样多,除此之外一切正常。如果有 3 个 leafWeigh 文本框,则在条件无效时显示警告消息。

标签: javascript c# jquery asp.net-mvc razor


【解决方案1】:

为什么你真的需要&lt;form&gt; 元素?

HTML

<input name="" />
<button id="submit">Submit</button>

JS

submit.onclick = function(){
   // validate and do some ajax...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    相关资源
    最近更新 更多