2017-05-10 37 views
0
Below code give me the error: 

facebook.htmlName = &姓氏= &電子郵件= &密碼= & enterEmail = & COUNTRY_NAME = &碼= &移動= & BTN2 = faceboo ...: 203指定值「+,91」不是有效的數字。該值必須與以下正則表達式匹配: - ?(\ d + | \ d +。\ d + |。\ d +)([eE] [ - +]?\ d +)?如何在文本基礎上,下拉值的選擇顯示國家代碼

<!DOCTYPE HTML> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>user registration form validation using javascript with example</title> 
    <script type="text/javascript"> 

     function selectvalue(x){ 

      var country_dropdown=document.getElementById("country"); 
      var country_Mcode=document.getElementById("country_mcode"); 
      if(document.getElementById("country").value=="1") 
      { 
       document.getElementById("country_mcode").value="+91" 
      } 
      if(document.getElementById("country").value=="2") 
      { 
       document.getElementById("country_mcode").value="+1" 
      } 
      if(document.getElementById("country").value=="3") 
      { 
       document.getElementById("country_mcode").value="+880" 
      } 
      if(document.getElementById("country").value=="4") 
      { 
       document.getElementById("country_mcode").value="+81" 
      } 
      if(document.getElementById("country").value=="5") 
      { 
       document.getElementById("country_mcode").value="+86" 
      } 
     } 
    </script> 
</head> 

<body> 
<div id="emptyDiv"> 
</div> 
<div id="description"></div> 
<!--container start--> 
<div id="container"> 
    <div id="container_body"> 
     <div> 
      <h2 class="form_title">User Registration Form Demo</h2> 
      <p class="head_para">Form Validated Using Javascript</p> 
     </div> 
     <!--Form start--> 
     <div id="form_name"> 
      <div class="firstnameorlastname"> 
       <form name="form" > 
        <div id="errorBox"></div> 
        <input type="text" name="Name" value="" placeholder="First Name" class="input_name" > 
        <input type="text" name="LastName" value="" placeholder="Last Name" class="input_name" > 

      </div> 

      <div id="email_form"> 
       <input type="text" name="Email" value="" placeholder="Your Email" class="input_email"> 
      </div> 

      <div id="password_form"> 
       <input type="password" name="Password" value="" placeholder="New Password" class="input_password"> 
      </div> 

      <div id="Re_email_form"> 
       <input type="text" name="enterEmail" value="" placeholder="Re-enter Email" class="input_Re_email"> 
      </div> 

      <!--birthday details start--> 
      <div> 
       <h3 class="country">Country</h3> 
      </div> 
      <div> 
       <select name="country_name" id="country" onchange="selectvalue()"> 
        <option value="" selected >Country</option> 
        <option value="1">india</option> 
        <option value="2">america</option> 
        <option value="3">Bangladesh</option> 
        <option value="4">japan</option> 
        <option value="5">china</option> 
       </select> 
      </div> 
      <div> 
        <h3 class="country">Mobile No</h3> 
      </div> 
      <div> 

       <input type="number" name="code" value="" class="input_name" id="country_mcode" > 
      </div> 
     <div> 
      <input type="number" name="mobile" value="" placeholder="Mobile No" class="input_name" > 
     </div> 
      <!--birthday details ends--> 

     <div> 
      <p id="sign_user" onClick="Submit()">Registration</p> 
     </div> 
     <div> 
      <input type="submit" name="btn2" value="facebook registration"/> 
     </div> 
     <div> 
      <p id="google_user" onClick="Submit()">Google Registration</p> 
     </div> 
     </form> 
     </div> 
     <!--form ends--> 
    </div> 
</div> 
<!--container ends--> 
</body> 
</html> 
+0

使country_mcode輸入類型爲文本而不是數字。因爲號碼不允許+符號。 – Jenny

+0

哦!它的工作,謝謝你@Jenny –

回答

0

那是因爲你的輸入字段類型=數字和+(加)不能以這種方式添加。

這實際上有點奇怪,因爲你可以輸入+10作爲例子。但隨後它被解釋爲正數10,並且+被移除並且不存儲在值屬性中。您可以更改類型或從號碼中刪除加號,使其成爲有效號碼而不是字符串。

如果在字段中輸入+10,然後使用控制檯並鍵入document.getElementById('country_mcode')[0].value,則應該可以驗證。

返回的值應該是10而不是+10。

編輯: 如果輸入字段可以由用戶設置,您可以刪除類型強制並添加pattern="\+\d{1,5}"或類似的東西以允許您的特定用例。

相關問題