【问题标题】:Validating Problem - Doesn't work in IE验证问题 - 在 IE 中不起作用
【发布时间】:2009-12-10 17:54:12
【问题描述】:

我正在使用以下代码通过 PHP 和 Javascript (Ajax) 添加状态消息:

$(document).ready(function(){
    $("form#status_form").submit(function(){
        var s_autor =   $('#s_autor').attr('value');
        var s_status    =   $('#s_status').attr('value');
        $.ajax({
            type: "POST",
            url: "/request.php",
            data: "s_autor="+ s_autor +"& s_status="+ s_status,
            success: function() {
                $('#show').load("/request.php", function() {
                    $(this).fadeIn("slow", function() {
                        setTimeout(function() {
                            $("#show").fadeOut("slow", function() {
                                $("#show").slideUp("slow", function() {
                                    $("#s_status").val("Statusnachricht", function() {
                                        $(this).empty();
                                    });
                                });
                            });
                        }, 2000);
                    });
                }); 
            }
        });
        return false;
    });
});

在朋友告诉我它在 IE 中不起作用后,我使用 JSLint 来验证代码...... JSLint 给了我这个报告:

    Error:

Implied global: $ 1,2,3,4,5,10,11,13,15,16,17, document 1, setTimeout 12

有人知道如何纠正这个错误吗?我真的不知道如何正确更改它......如果你能帮助我会很棒:)

【问题讨论】:

  • 这是非常难以理解的。我建议将其中一些回调拆分为单独的函数,以便您和我们更好地了解发生了什么。

标签: php javascript jquery ajax internet-explorer


【解决方案1】:

你应该删除行中的空格字符:

data: "s_autor="+ s_autor +"& s_status="+ s_status,

在“&”和s_status之间。

【讨论】:

    【解决方案2】:

    这可能是一个奇怪的解析错误。您是否尝试过将所有单引号更改为双引号?

    例如,将所有字符串如 $('#show') 更改为 $("#show")。

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2011-10-08
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      相关资源
      最近更新 更多