2016-08-19 65 views
0

我對所需字段使用了javascript驗證。這裏是我的htmljavascript form validation

<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> 

我的JavaScript

<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> 

現在,當我輸入字段爲空,我提交的形式,它顯示我輸入無效是罰款。但即使當我填寫一些textin輸入,然後它顯示我未定義的輸入無效而不是提交表單。 請幫忙..

+0

原因是安靜簡單,'variable'被定義爲'undefined','if'條件不滿足,則值保持'undefined' .. – Rayon

回答

2

如果條件不滿足,你忘了添加一個其他的地方返回true

<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

謝謝SiddP !!!!!太好了!一個愚蠢的錯誤! – Pardeep

0

,您可以改用:

<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

請詳細說明如何提供幫助。 – Wtower

+0

如果我們可以使用alert函數,而不是將文本設置爲textfield,所以它不會產生任何問題,因爲alert函數給出了彈出消息,並且在我們說ok之後關閉,所以它對於表單驗證更好 –