2016-08-19 1 views
0

Ich benutze Javascript Validierungen für das erforderliche Feld. Hier ist mein htmlJavascript Formular Validierungen

<form class="uk-form-stacked" name="myForm" action="<?php echo base_url(); ?>admin/pages/create_service" id="wizard_advanced_form" method="post" enctype="multipart/form-data" onsubmit="return myFunction(this)" novalidate> 
        <div data-uk-grid-margin="" class="uk-grid"> 
        <div class="uk-width-medium-1-2"> 
         <label for="service_title">Service Title<span class="req">*</span></label> 
         <input type="text" name="service_title" id="validd" class="md-input" /> 
         <p id="demo"></p> 
        </div> 
       </div> 
        <div class="uk-grid"> 
        <button type="submit" class="md-btn md-btn-primary md-btn-wave-light waves-effect waves-button waves-light" >Submit</button> 
       </div> 
      </form> 

mein Javascript ist

<script> 
    function myFunction(form) { 
    var x, text; 
    x = document.getElementById("validd").value; 
    if (x == null || x == "") { 
    text = "Input not valid"; 

    } 
    document.getElementById("demo").innerHTML = text; 
    return false; 

    } 
    </script> 

Nun, wenn mein Eingabefeld leer ist und ich einreichen bilde es zeigt mir Eingabe nicht gültig, die in Ordnung ist. Aber selbst wenn ich etwas Textinput fülle, dann zeigt es mir undefined anstelle der Eingabe nicht gültig an, anstatt das Formular zu senden. bitte helfen ..

+0

Grund ist ruhig einfach, 'variable' als' undefined' definiert ist, 'if' Bedingung nicht erfüllt ist, dann Wert bleibt' undefined' .. – Rayon

Antwort

2

Sie haben vergessen, ein anderes, wo es geben würde, geben True, wenn die Bedingung nicht erfüllt ist.

<script> 
     function myFunction(form) { 
     var x, text; 
     x = document.getElementById("validd").value; 
     if (x == null || x == "") { 
     text = "Input not valid"; 
     document.getElementById("demo").innerHTML = text; 
     return false; 
     } 
     else{ 
      return true; 
     } 
     } 
</script> 
+0

Dank SiddP !!!!! Groß !! ein dummer Fehler! – Pardeep

0

Sie können stattdessen verwenden:

<html> 
     <head> 
     <script> 
     function valid() 
     { 
      var x; 
      x=document.getElementById(validd).value; 
      if(x==null || x=="") 
      { 
       alert("Please input service title"); 
       document.getElementById(validd).focus(); 
       return false; 
      } 
     } 
     </script> 
     </head> 
     <body> 
     <form name="myForm" onsubmit="return valid()"> 
      <input type="text" name="service_title" id="validd"/> 
      <button type="submit">Submit</button> 
     </form> 
     </body> 
    </html>` 
+0

Bitte fügen Sie weitere Details hinzu, wie dies hilft. – Wtower

+0

Wenn wir Alert-Funktion anstelle von Text zu Textfeld verwenden können, so macht es kein Problem, weil die Alert-Funktion popup msg gibt und nachdem wir ok sagen, schließen, so dass es besser für die Formularvalidierung ist –