【问题标题】:Empty Input After AJAX Post SubmitAJAX 提交后的空输入
【发布时间】:2014-10-29 04:20:39
【问题描述】:

我想在通过 jQuery AJAX post submit 提交评论后清空或清除输入字段。这是我正在使用的 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 type="text" class="textbox2" size="90" maxlength="200" name="message" id="message" autocomplete="off" style="width: 90%;">

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

【问题讨论】:

  • 您是否可能有多个 id 为 "message" 的元素?
  • 不在同一页面上。我只是在那个页面上有提到的输入字段。
  • 您是否尝试过设置断点并单步执行代码?
  • 看看 FireFox 中的 Firebug。

标签: jquery ajax google-chrome firefox safari


【解决方案1】:

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

【讨论】:

  • 是的,我知道并且我已经解决了这个问题,但是感谢您的时间:-)
【解决方案2】:

因为你使用的是 jQuery

而不是这个

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

试试这个...

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

【讨论】:

  • 用萤火虫检查页面上是否有任何错误.. 你的 showComment() 上有什么;功能。
  • 显示评论函数是这样的:`function showComment(){ $.ajax({ type:"post", url:"shout.php", data:"action=showcomment", success:function (data){ $("#comment").html(data); } });`
  • 你确定你是从 ajax 调用到成功函数吗?
  • 只需评论 showComment();并通过使用 showComment() 检查警报以查看其工作情况而不显示评论
  • 注释掉 showCommen();该帖子已提交但未清除该字段。
猜你喜欢
  • 2013-05-19
  • 1970-01-01
  • 2019-02-28
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-22
相关资源
最近更新 更多