2012-11-20 58 views
1

基本上我正在尋找一些JavaScript的實況網頁,可以在用戶輸入時每次將文本框的當前數值增加1。Javascript增加文本框的值+1

例如

<td> <input type='text' name='form_c_port' value='1' size='5' maxlength='5'/> </td> 

然後我的下一個文本框的值應該是2只增加1或1次每次其他文本框的數值變化

<td> <input type='text' name='form_q_port' value='0' size='5' maxlength='5'/> </td> 

,但我不能似乎降低了解如何在JavaScript中將值增加1。我知道如何在PHP中執行此操作,但我需要在用戶更改值時在實時網頁上完成此操作。

+1

你嘗試過什麼嗎? – AndreKR

+0

是的http://jsfiddle.net/jSXCy/有一個數值保持在1的問題,如果我將form_c_port值設置爲高於1的任何值,那麼form_q_port的值每次仍然爲1。 – C0nw0nk

回答

0

將一個onkeydown偵聽器添加到您的輸入元素,該元素將檢查文本的當前大小並更新該值。

0

onkeydown()事件添加到對象,所以:

<input type='text' name='form_q_port' value='0' size='5' maxlength='5' onkeydown="increaseValue(this)"/> 

然後JS:

function increaseValue(object) 
{ 
object.Value += 1; 
} 
+0

謝謝MrXenotype的作品非常讚賞。 – C0nw0nk

+0

如果有效,請將其設置爲已接受的答案,以便其他人可以更容易地找到答案。 –

0
document.getElementsByName("form_c_port")[0].value = parseInt(document.getElementsByName("form_c_port")[0].value) + 1 

http://jsfiddle.net/NK6dB/

1

這是一個複雜多了,比我原來想象。我沒有意識到這兩個輸入都可以修改。我終於通過聽取退格並刪除第一個輸入來工作。如果輸入看起來太快,它仍然存在錯誤。

下面是HTML

<td> <input id="one" type='text' name='form_c_port' value='1' size='5' maxlength='5'/> </td> 
<td> <input id="two" type='text' name='form_q_port' value='0' size='5' maxlength='5'/> </td> 

這裏是jQuery的

var lengthValue = $('#one').val().length; 
$('#one').keyup(function(event){ 
    var key = event.keyCode || event.charCode; 
    var tempLength = $('#one').val().length; 
    if(key == 8 || key == 46){ 
     if(tempLength < lengthValue){ 
      lengthValue = $('#one').val().length; 
      if(isNumber($('#two').val())){ 
       $('#two').val(parseFloat($('#two').val()) - 1); 
      } 
      else{ 
       $('#two').val(0);  
      } 
     } 
    } 
    else if(lengthValue < 5){ 
     lengthValue = $('#one').val().length; 
     if(isNumber($('#two').val())){ 
      $('#two').val(parseFloat($('#two').val()) + 1); 
     } 
     else{ 
      $('#two').val(0);  
     } 
    } 
}); 


function isNumber(n) { 
    return !isNaN(parseFloat(n)) && isFinite(n); 
} 

這裏是一個fiddle的鏈接。

+0

你的方法actualy更適合我想要實現的功能,但它有一個問題,如果我將form_c_port值設置爲100,它不會將form_q_port值更改爲101,但出於某種原因它保持爲1。 http://jsfiddle.net/jSXCy/ – C0nw0nk

+0

@ C0nw0nk我編輯了我的代碼來解決這個問題。這裏是一個[小提琴](http://jsfiddle.net/bplumb/jSXCy/1/) –

+0

它仍然對小提琴也做同樣的事情,我也以某種方式設法使它通過使用退格鍵輸出「NaN」。 – C0nw0nk