AJAX帖子提交后的空输入

时间:2014-10-29 04:20:40

标签: jquery ajax google-chrome firefox safari

我想在通过jQuery AJAX帖子提交提交评论后清空或清除输入字段。这是我正在使用的jQuery代码;

$(".textbox2").on('keypress', function (e) {
    if (e.keyCode == 13 && !e.shiftKey) {
        e.preventDefault();

        var message = $("#message").val(),
            privateid = $("#private");

        if (message == '') {
            alert("Message is missing!!");
            return;
        }

        if (privateid.is(':checked')) {
            var privateidVal = privateid.val();
        }

        $.ajax({
            type: "post",
            dataType: "json",
            url: "shout.php",
            data: "message=" +
                encodeURIComponent(message) +
                "&private=" +
                encodeURIComponent(privateidVal) +
                "&action=addcomment",
            success: function (data) {
                showComment();
                document.getElementById('message').value = '';
                document.getElementById('message').focus();
                document.getElementById('private').checked = '';

                if (data.error) {
                    alert(data.error);
                }
            }
        });
    }
});

INPUT FIELD:

<input type="text" class="textbox2" size="90" maxlength="200" name="message" id="message" autocomplete="off" style="width: 90%;">

问题是,它已在Chrome中清除,但在Safari和FirefOx浏览器中无法清除。可能是什么原因?请帮忙!

2 个答案:

答案 0 :(得分:2)

你的代码看起来很好。尝试使用更新的jQuery库,我认为你正在使用一个过时的库,它缺少一些必需的功能。

答案 1 :(得分:0)

因为您使用的是jQuery

而不是这个

document.getElementById( 'message' ).value = '';

试试这个......

$("#message").val("");