2014-07-10 35 views
1

我有這樣一個問題,我知道非常非常小JS的Javascript情事變更輸入的文本別的東西

下面的代碼,我希望能夠在形式進入ABCD例如點擊提交,並它給了我下面定義的另一個輸出。這工作正常,只要它只是一個字符,見下面的案例5的作品,我輸入5,它給了我Hodor 5,如果我輸入55它給了我值「55」不是Hodor 55.

任何想法?

function toAlpha(form) { 
    var myText = form.text.value; 
    var newText = ""; 
    var curChar; 
    for (var i = 0; i < myText.length; ++i) { 
     curChar = myText.charAt(i); 
     switch (curChar) { 
     case '5': 
      newText = "Hodor 5"; 
      break; 
     case '55': 
      newText = "Hodor 55"; 
      break; 
     case '555': 
      newText = "Hodor 555"; 
      break; 
     default: 
      newText += curChar; 
      break; 
     } 
    } 
    form.alpha.value = newText; 
} 
+0

你迭代中值的每個字符,但你要檢查55,但你迭代和使用的charAt你只有一個字符,而不是兩個,所以它沒有意義檢查55.刪除迭代並直接檢查值 – adeneo

回答

0

如果你想檢查輸入字段的值,那麼循環的用途是什麼?試試這個: -

function toAlpha(form){ 
    var myText = form.text.value; 
    var newText = ""; 
    switch (myText) { 
    case '5': newText = "Hodor 5"; 
    break; 
    case '55': newText = "Hodor 55"; 
    break; 
    case '555': newText = "Hodor 555"; 
    break; 
    default: 
    newText += myText; 
    break; 

    } 
form.alpha.value = newText; 

}