无法使用.change来验证答案

时间:2012-02-26 19:14:21

标签: javascript input

我在文本输入字段上使用.change时遇到了一些麻烦。它应该使用一个库(工匠),如果所说的答案是正确的(在这种情况下等于1),在画布上绘制文本,但它没有这样做。

这是javascript

$('#atomnum').change(function(){
        ans = $('#atomnum').val();
    });

    if(ans == 1){
        artisan.drawText('canvas', 200, 300, 'Correto!', '#FFFFFF');
    }else{
        return false;
    }

输入的id是atomnum。有什么帮助吗?

编辑 - 尝试了那些机器人,仍然没有工作。 Here是调用的整个函数,也许çistener不应该在函数内部...

2 个答案:

答案 0 :(得分:0)

如果绘图操作应该在.change()事件中发生,请将其放入:

$('#atomnum').change(function(){
    ans = $('#atomnum').val();
    if(ans == 1){
        artisan.drawText('canvas', 200, 300, 'Correto!', '#FFFFFF');
    }else{
        return false;
    }
});

否则,您需要一个额外的功能来检查ans的新值并相应地对其进行操作。

注意 - 删除了额外的结束}

答案 1 :(得分:0)

该代码无效。您可以在一次绑定事件后立即执行检查代码,而不是在元素更改时运行它。

请改为尝试:

$('#atomnum').change(function(e) {
    var ans = $('#atomnum').val();

    if(ans == '1') {
        artisan.drawText('canvas', 200, 300, 'Correto!', '#FFFFFF');
    }
    else {
        e.preventDefault();
    }
});