使用jQuery即时更新输入文本

时间:2013-11-07 08:27:52

标签: jquery

我正在使用jQuery处理表单。在表单中,我尝试在用户输入时立即更新字段。非常类似,当用户键入一些特殊字符时,它会删除它们并同时更新文本。我正在使用jquery。但是我的代码不起作用。

这就是我所做的:

表格代码:

<form name="user">
   <input name="appShortName" type="text" class="form-control" id="inputappShortName" placeholder="Application Name">
</form>

jQuery代码:

$(function(){
   $('#appShortName').keyup(function(){
      $('#appShortName').textreplace(/[^\w]/gi, '');
   });
});

5 个答案:

答案 0 :(得分:2)

使用#inputappShortName代替#appShortName

$('#inputappShortName').keyup(function(){
    var newValue = $(this).val().replace(/[^\w]/gi, '')
    $(this).val(newValue);
});

检查此fiddle

答案 1 :(得分:1)

您需要使用val()作为getter,并使用val('value')作为setter。试试这个:

$('#appShortName').keyup(function(){
    var newValue = $(this).val().replace(/[^\w]/gi, '')
    $(this).val(newValue);
});

此外,HTML中的属性id与jQuery选择器不匹配,这是一个错字吗?

答案 2 :(得分:1)

尝试类似这样的东西,缩短版

    $(function(){
       $('#inputappShortName').keyup(function(){
           this.value = this.value.textreplace(/[^\w]/gi, '');
       });
    });

答案 3 :(得分:1)

您已尝试此代码。

$('#inputappShortName').keyup(function(){
    var newValue = $(this).val().replace(/[^\w]/gi, '')
    $(this).text(newValue);
});

答案 4 :(得分:0)

如果你想在没有id的情况下定位输入字段,你可以使用它:

$(function(){
    $('input[name="appShortName"]').keyup(function(){
        var newValue = $(this).val().replace(/[^\w]/gi, '')
        $(this).val(newValue);
    });
});

jsfiddle:http://jsfiddle.net/x65St/