2014-03-19 161 views
0

我想做form.submit(),但只有当所有具有required属性的表单项都已满。仅当所有必填字段已满时才提交表单?

我在想simpy迭代通过表单子查找属性,但我不知道如何去做,因为可能有嵌套元素等。可能还有一个更简单的方法来做到这一点。

this.form_is_full = function(form){ 
    for (var i = 0; i < form.elements.length; i++){ 
     if(form.elements[i].getAttribute("required") && form.elements[i].value=="") 
     { 
     // If has attribute required and is blank return false 
     } 
    } 
    return true; 
} 

我该怎么做?

回答

0

这是我做过什么:

this.validate_form = function(form){ 
    for (var i = 0; i < form.elements.length; i++){ 
     if(form.elements[i].value == "" && form.elements[i].getAttribute("name") && form.elements[i].hasAttribute("required")) 
     { 
      return false; 
     } 
    } 
    return true; 
} 
0

试试这个:

$('#YourFormId').submit(function(e) { 
    if ($.trim($("#YourFormId input").val()) === "") { 
     e.preventDefault(); 
     alert('you did not fill out one of the fields'); 
    } 
}); 
+1

我使用纯JS抱歉,没有做明确 – lisovaccaro

0
function Validate() 
     { 


     // create array containing textbox elements 
     //for example: 
     var inputs = [document.getElementById('fname'), 
     document.getElementById('lname'), document.getElementById('email'), 
     document.getElementById('messagetxt')]; 

     var error; 

     for(var i = 0; i<inputs.length; i++) 
     // loop through each element to see if value is empty 
     { 
      if(inputs[i].value == '') 
      { 
       error = 'Please complete all fields.'; 
       alert(error); 
       return false; 
       } 
     } 
    } 
相关问题