2015-10-07 50 views
0

我已經創建了一個帶有移動字段的表單,並使用javascript代碼添加了手機號碼的驗證碼以僅接受10位數字。驗證javascript中的移動號碼的問題

相同的代碼,我用在另一種形式它工作正常,但是當我在這裏使用它不工作。

請任何人都可以幫助我。

form.php的

<form action="" id="bookingtest" method="post"> 
    <div class="fieldset"> 
    <ul class="form-list"> 
     <li> 

      <label for="mobile" class="required"><em>*</em><?php echo $this->__('Mobile Number') ?> </label> 
         <div class="input-box"> 
          <input id="mobile" name="mobile" value="" class="input-text required-entry" title="<?php echo $this->__('Mobile Number') ?>" /> 
         </div> 
     </li> 
    </ul> 
    </div> 
    <div class="button"> 
<p class="required"><?php echo $this->__('* Required Fields') ?></p> 
    <button id= "submit" type="submit" class="button" title="<?php echo $this->__('Book Test') ?>" name="send" id="send2"><span><span><?php echo $this->__('Book Test') ?></span></span></button> 
    </div> 


    </form> 


    <script type="text/javascript"> 

//<![CDATA[ 
var dataForm = new VarienForm('bookingtest', true); 
//]]> 
    </script> 

<script type="text/javascript"> 
    //<![CDATA[ 

if(Validation) { 
    Validation.addAllThese([ 
    ['validate-mobileno','Enter correct mobile number (Eg:9986858483)', 
    function(v){ 
    //var timePat ="^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$"; 

    var timePat ="^{0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$"; 
    // var matchArray = v.match(timePat); 
    if(v.length > 0){ 
    if(v.length !=10){ 
     return false; 
     }else if(v[0]!=9 && v[0]!=8 && v[0]!=7){ 

     return false; 
     } 


    return true; 

    }else { 
    return false; 
    } 

    } 
    ]])}; 

var contactForm = new VarienForm('bookingtest', true); 
    //]]> 
    </script> 
+0

如果這是自定義頁面的支票,用於驗證的js文件加載你的頁面上瓦瑞恩/ form.js –

+0

我相信,這Magento的框架 –

+0

但它的代碼自PHP它與JavaScript有關。請你建議我解決我的問題或更改我的代碼以顯示爲我的需要。預先感謝 – Mouni

回答

1

試試這個

<form action="http://www.labwise.in/devel/zensearch/order" id="bookingtest" method="post"> 
    <div class="fieldset"> 
    <ul class="form-list"> 
     <li> 
      <label for="mobile" class="required"><em>*</em><?php echo $this->__('Mobile Number') ?> </label> 
      <div class="input-box"> 
      <input id="mobile" name="mobile" value="" class="input-text required-entry validate-mobileno" title="<?php echo $this->__('Mobile Number') ?>" /> 
      </div> 
     </li> 
    </ul> 
    </div> 
    <div class="button"> 
    <p class="required"><?php echo $this->__('* Required Fields') ?></p> 
    <button id= "submit" type="submit" class="button" title="<?php echo $this->__('Book Test') ?>" name="send" id="send2"><span><span><?php echo $this->__('Book Test') ?></span></span></button> 
    </div> 
    </form> 


<script type="text/javascript"> 

if(Validation) { 
    Validation.addAllThese([ 
    ['validate-mobileno','Enter correct mobile number (Eg:9986858483)', 
    function(v){ 
    //var timePat ="^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$"; 

    var timePat ="^{0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$"; 
    // var matchArray = v.match(timePat); 
    if(v.length > 0){ 
    if(v.length !=10){ 
     return false; 
     }else if(v[0]!=9 && v[0]!=8 && v[0]!=7){ 

     return false; 
     } 


    return true; 

    }else { 
    return false; 
    } 

    } 
    ]]) 
}; 
var dataForm = new VarienForm('bookingtest', true); 
</script> 
+0

否,它不工作 – Mouni

+0

它不工作。請給我建議。 – Mouni

1

我想你已經錯過了提交按鈕點擊調用驗證功能。它應該是這樣的...

<button id= "submit" type="submit" class="button" title="<?php echo $this->__('Book Test') ?>" name="send" id="send2" onclick = Validation(); ><span><span><?php echo $this->__('Book Test') ?></span></span></button> 

你能分享你遇到的問題嗎?

+0

我沒有任何提醒信息或任何它正在採取的事情,當我進入這樣的事情:99 * 441jkk.It應該不像這樣驗證。它只能採取數字 – Mouni

1

您可以對手機號碼使用以下功能,以便用戶只能在手機號碼的文本框中輸入號碼。

<script> 
// allow only number to be typed in textbox 
    $("#mobile_no").keypress(function (e) { 
     //if the letter is not digit then don't type anything 
     if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { 
      return false; 
     } 
    }); 
</script> 
+0

它有一個限制只輸入10位數字,如果輸入的不是10位數字或特殊字符,則必須顯示該消息爲「您的號碼未驗證」 – Mouni