2016-06-21 5 views
-1

Ich versuche, eine coole Möglichkeit zu finden, durch meine DIV Felder zu gehen und eine FOR LOOP-Validierung zu verwenden, wenn sie leer sind oder nicht und dann eine Popover-Warnung anzeigen.Popover-Feld Validierung Schleife

Ich habe bereits eine Warnung mit einem * auf einem SPAN-Objekt erreicht, aber ich möchte jetzt das gleiche mit einem DIV mit einem Namen oder einer ID wie "popoverempty_name" oder so machen. Diese

ist, was ich habe, so weit:

// After Form Submitted Validation 
 
$("#contact_submit button").click(function(event){ 
 
    var form_data=$("#contact input[type=text]").serializeArray(); 
 
    var error_free=true; 
 
    for (var input in form_data) { 
 
\t var element=$("#contact_"+form_data[input]['name']); 
 
\t var valid=element.hasClass("valid"); 
 
     var error_element=$("span", element.parent()); 
 

 
     // This part doesn't work : 
 
     var popover_element=$(this).attr("#popover_"+form_data[input]['name']); 
 
     // Why??? 
 

 
\t if (!valid) { 
 
      error_element.removeClass("error").addClass("error_show"); 
 
      error_free=false; 
 
      //$('popover_element').popover('show'); 
 
     } 
 
\t else { 
 
      error_element.removeClass("error_show").addClass("error"); 
 
      //$('popover_element').popover('hide'); 
 
     } 
 
    } 
 
    if (!error_free) { 
 
\t event.preventDefault(); 
 
    } 
 
    else { 
 
\t alert('No errors: Form will be submitted'); 
 
    } 
 
});
<!-- Name --> 
 
<div id="popover1" data-toggle="popover" data-placement="right" title="Fix your name" data-content="Enter a correct name i.e. John Doe"> 
 
    <div id="popoverempty_name" data-toggle="popoverempty" data-placement="left" title="This is Required" data-content="" ></div> \t 
 
    <span class="error">ERROR</span> 
 
    <label for="contact_name"></label> 
 
    <input class="checkout-input checkout-name" placeholder="Name and Lastname" type="text" name="name" id="contact_name" required/> 
 
</div>

Antwort

0

Go figure! Ich habe es gelöst, indem ich ein bisschen mehr damit herumgespielt habe ... und morgens frisch aufzuwachen hilft immer !! ;-)

Hier ist die Antwort ... Ich hoffe, es hilft jemandem da draußen!

\t \t \t \t for (var input in form_data){ 
 
\t \t \t \t \t var element=$("#contact_"+form_data[input]['name']); 
 
\t \t \t \t \t var valid=element.hasClass("valid"); 
 
\t \t \t \t \t var error_element=$("span", element.parent()); 
 
\t \t \t \t \t if (!valid){error_element.removeClass("error").addClass("error_show"); error_free=false;$(function() {$("#popoverempty_"+form_data[input]['name']).popover('show')});} 
 
\t \t \t \t \t else{error_element.removeClass("error_show").addClass("error");$(function() {$("#popoverempty_"+form_data[input]['name']).popover('hide')});} 
 
\t \t \t \t }