2011-11-29 44 views
-1

我有下面這將創建一個文本框只允許數字條目的功能,這似乎每出現一個新行時間。我的問題是,我不知道如何代碼的文本框中這些功能:我需要設置我的文本框在JavaScript

  1. 框不會允許輸入字母(如果輸入一個字母,然後它會自動退格吧)

  2. 號碼只能介於0〜100,如果小於0,則顯示0,否則,如果數量超過100,顯示100

是否有任何人知道如何與我下面的函數中的JavaScript代碼如下:

function insertQuestion(form) 
{ 

    var row = document.createElement("tr"); 
    var cell, input; 

cell = document.createElement("td"); 
    cell.className = "weight"; 
    input = document.createElement("input"); 
    input.name = "weight_" + qnum; 
    input.onkeypress = "return isNumberKey(event)"; 
    cell.appendChild(input); 
    row.appendChild(cell); 
} 
+0

怎麼會有人如果只允許輸入數字,輸入一個負數?沒有辦法輸入'-'。 –

+0

你問如何檢查數字或如何插入新行?這個問題目前還不清楚。 – arb

+0

請制定你確切需要什麼。在jsbin.com或類似的代碼會很好。在此之前-1 –

回答

-2

您需要設置input元素的類型,像這樣:

input.type = "text"; 

沒有測試,但應該做的工作。

+1

'type =「text」'是默認值。 – Quentin

+0

類型=「文本」將不執行任何驗證 - 它只是允許文本輸入 - 文本=數字,字母,標點符號...等 – ManseUK

+0

OK - 這個問題是嚴重的制定則。 -1 –

0

添加這的onblur或輸入的onkeypress事件事件:

function leaveTextBoxFunc(){ 
    textBoxVal = document.getElementById('<your_input_element_id').value; 
    if(isNaN(textBoxVal)) 
    { 
     document.getElementById('<your_input_element_id').value = ''; 
     return; 
    } 
    if(parseFloat(textBoxVal)>100) 
     document.getElementById('<your_input_element_id>').value = 100; 

    if(parseFloat(textBoxVal)<0) 
     document.getElementById('<your_input_element_id>').value = 0; 
} 



input.onblur = function(){ leaveTextBoxFunc() }; 

input.onkeypress = function(){ leaveTextBoxFunc() };