0
function AddressVal5() {
   $('.ma-addressEdit .address:visible input:text.number').each(function () {
      var maxLength = $(this).attr('maxLength');
      var thisLength = $(this).val().length;
      //  alert(maxLength + ' ' + thisLength)
      //$(this).next('.error').hide();
      if ($(this).val() == '' || thisLength < maxLength) {
         alert("sa");
         $(this).next('.error').show();
         return false;
      }
   });

   $('.ma-addressEdit .address:visible input:text, .ma-addressEdit .address:visible textarea').each(function () {
      var maxLength = $(this).attr('maxLength');
      var thisLength = $(this).val().length;
      $(this).next('.error').hide();
      if ($(this).val() == '' || thisLength < maxLength) {
         $(this).next('.error').show();
      }
   });

} 

我正在处理 jquery 验证,它可以正常工作

<a href="javascript:void(0);" class="clear" id="addressUpdateBtn"><img src="images/update.png" width="83" height="31" alt="Upate" onclick="AddressVal5()" /></a>                                    

但不适用于

<asp:ImageButton ID="imgbtnNewADD" runat="server"
                                ImageUrl="~/_layouts/images/Experia/update.png" CssClass="Nbutton" OnClientClick="return AddressVal5();" ToolTip="Add" OnClick="imgbtnNewADD_Click" />

出现错误消息,但点击刷新请帮助..

4

1 回答 1

1

可能那是因为您return false;在第二个each陈述中没有。

编辑:哎呀。很简单!你是return从每个回调函数做的,而不是从 AddressVal5 做的。你应该有类似的东西

function AddressVal5() {
   var isValid = true;
   $('.ma-addressEdit .address:visible input:text.number').each(function () {
      var maxLength = $(this).attr('maxLength');
      var thisLength = $(this).val().length;
      //  alert(maxLength + ' ' + thisLength)
      //$(this).next('.error').hide();
      if ($(this).val() == '' || thisLength < maxLength) {
         alert("sa");
         $(this).next('.error').show();
         isValid = false;
         return false;
      }
   });

   $('.ma-addressEdit .address:visible input:text, .ma-addressEdit .address:visible textarea').each(function () {
      var maxLength = $(this).attr('maxLength');
      var thisLength = $(this).val().length;
      $(this).next('.error').hide();
      if ($(this).val() == '' || thisLength < maxLength) {
         $(this).next('.error').show();
         isValid = false;
         return false;
      }
   });
   return isValid;
} 

让它工作。在第一种情况下,它运行良好,因为没有提交按钮。

于 2012-08-27T12:21:07.500 回答