Javascript 试着把钥匙打开
因此,我有一个代码,当用户插入分数时,它将检查用户是否输入了0.50或.50,例如,并验证它,以便用户可以输入或 但我的问题是,当用户输入新分数时,他们必须按enter键或在框外单击save按钮才能启用 所以我想添加.keyup或.keypress事件,以便在用户开始输入数据时启用它,但我遇到了一个错误 如果我将其更改为.keyup,它不会进行验证。有人可以看看这个代码,让我知道我没有看到什么吗?我怎样才能让它工作?谢谢Javascript 试着把钥匙打开,javascript,jquery,Javascript,Jquery,因此,我有一个代码,当用户插入分数时,它将检查用户是否输入了0.50或.50,例如,并验证它,以便用户可以输入或 但我的问题是,当用户输入新分数时,他们必须按enter键或在框外单击save按钮才能启用 所以我想添加.keyup或.keypress事件,以便在用户开始输入数据时启用它,但我遇到了一个错误 如果我将其更改为.keyup,它不会进行验证。有人可以看看这个代码,让我知道我没有看到什么吗?我怎样才能让它工作?谢谢 aResponse.append( jQuery('<
aResponse.append(
jQuery('<div />', {'class':'responseScore'}).append(
jQuery('<span />', {'text':'Score for above response: '}),
jQuery('<input />', {'type':'text', 'maxlength':10, 'placeholder':'Score', 'value':(response.score%1==0?response.score.toFixed(1):response.score), 'tabindex':(i+1)})
.bind('change', function(){
var that=this;
var score = this.value;
if (score.length > 0 && isNaN(parseFloat(score))){
$(this).addClass('invalidNumber');
alert("That is not a valid number.");
$(this).val('');
setTimeout(function(){that.focus();},5);
return;
}
else
if ($(this).hasClass('invalidNumber')) $(this).removeClass('invalidNumber');
var responseID = $(this).parents('.groupResponse').attr('qrid');
var response = responses.filter(function(item, index) {return item.id == responseID && responseID != undefined})[0];
if (score.length == 0)
response.attr('score', '');
else
response.attr('score', parseFloat(score));
$("#saveButton").button('option','disabled',false);
}),
jQuery('<span />', {'text':' / '+(response.question.weight%1==0?response.question.weight.toFixed(1):response.question.weight)})
)
);
我没有看到你的keyup函数。如果你改变。绑定'change',到。绑定'keyup',你会出错吗?错误是怎么说的?我把它拿出来,我把.keyup添加到了.bind的地方,看看它是否有效,但我需要它来验证。当我这样做时。bind'keyup'有效,但当我输入.50时,它不进行验证,并会给出错误。我希望用户能够输入.05或0.50Oh,并且弹出的错误是代码中的错误,表明它是无效数字。