无法输入HTML textBox --- Jquery

时间:2013-02-25 12:14:53

标签: jquery asp.net-mvc html5

我的剃须刀视图中有一个html文本框

<input type="text" id="txtComments" name="txtComments" placeholder="Enter your comments"
                                    style="width: 500px; height: 50px;" />

点击进入我正在进行ajax jquery调用并保存数据。但我无法输入文本框。如果我将id="txtComments"更改为其他可以键入的其他内容。

我做错了什么?

添加了我的脚本文件:

$("#txtComments").keypress(function (e) {
    var comments = "";
    e.preventDefault();
    var code = e.keyCode ? e.keyCode : e.which;
    if (code == 13) {
        comments = $("#txtComments").val();
        var request = $.ajax({
            url: "/Home/SaveCommentsData",
            type: "POST",
            data: { 'CommentEntered': comments },
            dataType: "json",
            success: function (data, textStatus) {
                if (textStatus) {
                    $('#enteredComments').append('<span>' + comments + '</span>');
                    alert("Comment Saved");
                }
            },
            error: function (textstatus) {
                alert(textstatus);
            }
        });
    }
});

2 个答案:

答案 0 :(得分:2)

那是因为您正在使用preventDefault()来阻止事件的默认操作,在这种情况下输入

$("#txtComments").keypress(function (e) {
     var comments = "";
     // e.preventDefault();

您可以将语句移至if语句:

$("#txtComments").keypress(function (e) {
     var comments = "";
     if (e.which == 13) {
        e.preventDefault();
        comments = this.value;

答案 1 :(得分:1)

这是因为你正在使用每个按键的防止默认值

当你按下回车

时,你只需要这样做
if (code == 13) {
   e.preventDefault()
   //...
}

这是一个小提琴: http://jsfiddle.net/johanhaest/q36Gg/