2014-11-25 21 views
0

你好我嘗試在這裏做一個簡單的腳本,當我在輸入欄中輸入的名字,我想例如某些警報: - 如果name爲> 20個字符警報=「名稱是大於20」 - 如果名字是12和20之間的警報=這是inputed 名稱的字符的確切數目 - 如果名字是大於2個字符和更大的大或比20 =警報等於該命名 此只是我試圖做的一個例子,但我只是noob在這個點上只有1個月的JavaScript(HTML和CSS),所以如果任何人都可以指出我在正確的方向,我將不勝感激。如何獲得警報字符inputed名稱長度 - JavaScript的

好了,到目前爲止,我有這樣的:

<form name="myForm" id="form2" onsubmit="return validate()"> 
Input name: <input type="text" name = "myName" id="t" /> 
<input type="submit" name="submit" value="submit" /> 
</form> 


    function validate() { 

    if(document.myForm.myName.value.length>20){ 
    alert("your name is too big"); 
    submitFlag=false; // im not sure what this line does // 
    } else if(document.myForm.myName.value.length=12-20){ 
     alert("your name is" + document.myForm.myName.value.length + " chars"); 

      } else if(document.myForm.myName.value.length=0){ 
     alert("input name") 

     }else{ 
     alert("ok e") 
    } 
     return submitFlag; 

} 

的if語句幹活只有當我有兩個,即時通訊只獲得第2個警報,所以我想輸入的if語句和更多其他也爲他們收到警報,我試圖讓自己更多一些,但沒有工作,我只得到前兩個。

+0

請儘量學習語言和了解粘貼之前你的代碼完成來自某處的代碼示例,並要求SO幫助您實現它。 – hon2a 2014-11-25 11:45:25

+0

謝爾蓋Narozhnyy,dfsq,阿希什·庫馬爾,感謝你們對我付出的投入和幫助,所以生病隨便挑一個答案所以這個問題可以被關閉。 – john 2014-11-25 13:35:00

回答

0

擴展什麼@dfsq說..你嘗試獲得:

如果名稱是指水木清華12和20

之間

,如:

document.myForm.myName.value.length > 12 && document.myForm.myName.value.length <= 20 

讓你的代碼更加簡單易讀。而且不要忘了返回false(您submitFlag):

function validate() { 
    var len = document.myForm.myName.value.length; 
    if (len > 20) 
    { 
    alert("your name is too big"); 
    } 
    else if (len > 12 && len <= 20) 
    { 
    alert("your name is" + len + " chars"); 
    } 
    else if (len == 0) 
    { 
    alert("input name"); 
    } 
    else 
    { 
    //in fact it would alert when name between 0 and 12   
    alert("ok e"); 
    } 
return false; 
} 
0

有運營商之間的差異。 =是一個賦值,=====是比較操作符。您需要後者:

document.myForm.myName.value.length == 0 
+0

感謝您的答覆,但仍不甚至== – john 2014-11-25 11:33:35

+0

後的第一個「否則,如果」語句得到任何東西看看你的代碼的這個例子:http://jsfiddle.net/8tft0ujf/這也許應該如何是。既然你正在使用'else-if'塊,你將只能得到一個警報。 – dfsq 2014-11-25 11:41:15

0

這裏,我們去:

function validate() { 
    var charLength = document.myForm.myName.value.length, 
     submitFlag = false; // This flag would be used further to stop the use going ahead from this particular validation 

    if (charLength > 20) { 
     // length more than 20 
     alert("your name is too big"); 
    } else if (charLength <= 20 && charLength > 12) { 
     // length between 20 and 12 
     alert("your name is" + charLength + " chars"); 
    } else if (charLength == 0) { 
     // If no input there 
     alert("enter name"); 
    } else { 
     // Otherwise in success condition 
     alert("ok e"); 
     submitFlag = true; 
    } 

    return submitFlag; 
} 

的jsfiddle:http://jsfiddle.net/fcwbkkd7/

相關問題