2016-12-28 51 views
-1

我在尋找一些建議!在Javascript中設置用戶輸入限制

我正在做一個簡單的程序來計算給定用戶輸入的平方根。我已經管理了這部分。

我想現在通過將限制用戶輸入延長我的學習。我只想輸入10位數字,否則會要求「再試一次」。

我已成功地通過將最大長度十個有些限制,但我不知道如何使這個我也MINLENGTH?

這裏是我的代碼,你可以看到,我在我的意見瞎搞。

function doMath(){ 
 
    
 
    var inputNum1 = document.form1.input1.value; 
 
    var result = Math.sqrt(inputNum1); 
 
    
 
    //if (inputNum1!\d{10}) { 
 
    // \t "Enter a ten digit number"; 
 
    document.form1.answer.value = result; 
 
    //} 
 
    
 
}
<form name=form1> 
 
    Enter a ten-digit number: 
 
    <input type="text" name="input1" size=16 maxlength=10><br><br> 
 
    <input type="button" value="Calculate" onClick='doMath()'> 
 
    <br><br> 
 
    The square root is: 
 
    <input type="text" name="answer" size=22> 
 
</form>

另一個細節,我該如何阻止住在框中的文字我刷新屏幕後?第一次發生這種情況。

再次感謝你們。

回答

0

爲什麼不能將inputNum1看作字符串? 使用inputNum.toString()。length來解決這個問題。

此外,嘗試在你的<輸入使用自動完成= 「off」>是。

+0

只是一個問題..這個連接實際上是否會工作? var inputNum1 = document.form1.input1.value; 在純粹的JavaScript是一個事實上的作品? – mnemosdev

+1

我認爲getElementById是一個更好的解決方案。 –

+0

這麼想,想知道這實際上是一種工作方式。導致這對我來說似乎是一個錯誤,但也許我錯了,我不知道它 – mnemosdev

0

我不知道爲什麼我得到downvoted,也許這似乎微不足道更有經驗的成員,但我們都必須從某個地方開始。

經過一些修補後,我有一個解決方案的工作。它很可能不像其他人能想到的那麼優雅,但我會張貼一些代碼來展示我如何運作。

<script type="text/javascript"> 

function doMath(){ 

var inputNum1 = document.form1.input1.value; 
var result = Math.sqrt(inputNum1); 

    if(inputNum1.length == 10){ 


    document.form1.answer.value = result; 

    } 

    else { 

     alert("Enter a ten digit number"); 
    } 
} 


function clear_field(field) { 

     if (field.value==field.defaultValue) { 

      field.value='' 

     } 

    } 

</script> 

正如你所看到的,我還添加了結算數據

</head> 
<body> 
<form name=form1> 
Enter a ten-digit number: 
<input type = "text" name = "input1" size = 12><br><br> 
<input type = "button" value = "Calculate" onClick = 'doMath()'> 
<br><br> 
The square root is: 
<input type = "text" name = "answer" size = 20> 
    <br><br> 
<input type = "reset" value = "Clear" onClick = 'clear_field(field)'> 
</form> 
</body> 
</html> 

希望這將有助於其他人有類似的問題;再次感謝那些提供了幫助的一種手段。