基本上我正在寻找用于实时网页的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中将值增加一个。我知道如何在PHP中执行此操作,但我需要在用户更改值时在实时网页上完成此操作。
答案 0 :(得分: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的链接。
答案 1 :(得分:0)
在输入元素中添加一个onkeydown
侦听器,用于检查文本的当前大小并更新值。
答案 2 :(得分: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;
}
答案 3 :(得分:0)
document.getElementsByName("form_c_port")[0].value = parseInt(document.getElementsByName("form_c_port")[0].value) + 1