2012-03-18 89 views

回答

1
function validateAdminInput() { 
    var isValid=true; 
    $('.mand').each(function() { 
     if ($(this).val() == '') { 
      $(this).css('border','solid red 1px'); 
      isValid=false; 
     }else{ 
      $(this).css('border',''); 
     } 
    }); 
    if(isValid) 
    { 
     $('#addproducts_form').submit(); 
    } 

} 
3
function validateAdminInput() { 
    var errors = 0; 
    $('.mand').each(function() { 
     if ($(this).val() == '') { 
      $(this).css('border','solid red 1px'); 
      errors++; 
     }else{ 
      $(this).css('border',''); 
     } 
    }); 
    if(errors === 0) { 
     $('addproducts_form').trigger('submit'); 
    } 

} 
+0

確實是一個巧妙的解決方案!我從來沒有想過使用一個標誌('var errors')。 – Terry 2012-09-22 12:30:30

1
在你的表單標籤

,寫

onsubmit="return checkmyform(this);" 

和標記後補充一點:

function checkmyform(form){ 
    var $myform = $(form); 
    $(".mand",myform).each(function(){ 
     if($(this).name()=="input"){ 
      if($.trim($(this).val())=="") return false; 
     }else{ 
      if($.trim($(this).text())=="") return false; 
     } 
    }); 
    return true; 
} 
1
function validateAdminInput() { 
    var error = false; 
    $('.mand').each(function() { 
     if ($(this).val() == '') { 
      error = true; 
      $(this).css('border','solid red 1px'); 
     }else{ 
      $(this).css('border',''); 
     } 
    }); 
    if(!error) $('#addproducts_form').submit(); 

} 
1

威爾這樣的事情幫你?

function validateAdminInput() { 
     var check = false; 
     $('.mand').each(function() { 
      if ($(this).val() == '') { 
       check = true; 
       $(this).css('border','solid red 1px'); 
      }else{ 
       $(this).css('border',''); 
      } 
     }); 

     if(!check) 
     { 
     // your code 
     } 

    } 
1

如果我理解你的函數,這應該這樣做:

function validateAdminInput() { 

    var allValid = true; 

    $('.mand').each(function() { 
     if ($(this).val() == '') { 
      $(this).css('border','solid red 1px'); 
      allValid = false; 
     }else{ 
      $(this).css('border',''); 
     } 
    }); 

    if (allValid) 
     $('#addproducts_form').submit(); 

} 
0

您可以在required屬性添加到所有的領域,但在瀏覽器這個作品只支持HTML5的形式。

對於其他人,很容易:

<form action="..." method="..." onSubmit="return validate(this);"> 
    <!-- input fields here --> 
</form> 

還要確保該required屬性添加到任何所需的字段。然後......

<script type="text/javascript"> 
    function validate(form) { 
     var inputs, len, i; 
     if(document.querySelectorAll) { 
      inputs = form.querySelectorAll('input[required], select[required], textarea[required]'); 
     } 
     else { 
      inputs = []; 
      var tags = ['input','select','textarea'], tag, elms; 
      while(tag = tags.shift()) { 
       elms = form.getElementsByTagName(tag); 
       len = elms.length; 
       for(i=0; i<len; i++) if(elms[i].getAttribute("required")) inputs.push(elms[i]); 
      } 
     } 
     len = inputs.length; 
     for(i=0; i<len; i++) { 
      if(inputs[i].value == '') { 
       alert("Please fill out all fields"); 
       // customise error stuff here 
       return false; 
      } 
     } 
     return true; 
    } 
</script> 

注意,該解決方案是在原JS,因此保證比任何jQuery的解決方案快許多倍。