【问题标题】:form submit - php ajax jquery-ui - will not execute on Firefox or IE表单提交 - php ajax jquery-ui - 不会在 Firefox 或 IE 上执行
【发布时间】:2014-07-23 22:23:34
【问题描述】:

我有一个下拉表单,其中包含用户可以从中选择的四个选项的列表。选择选项后 并单击“在公共聊天中发布广告”按钮,需要将选项值 (1, 2, 3, 4) 传递给advertise.php?advertise=1 (2, 3, or 4) 没有页面刷新。在公共聊天中单击广告后,我想要一条消息,上面写着“消息已发送到聊天!”用户可以点击确定。

我的问题:

代码不会在 Firefox 或 Internet Explorer 上执行(我曾在 Debian Linux 和 Windows PC 上尝试过——它们都具有相同的结果)。在 Chrome\Opera 上完美运行。

选择>

发送请求时会改变

【问题讨论】:

    标签: php ajax jquery-ui


    【解决方案1】:

    如果您 - 提交 - 表单,页面将被刷新。您必须停止或阻止表单提交事件的默认操作。这是一个使用 jquery 的示例:

    $('#myForm').on('submit', function(e){
        e.preventDefault();
        // your ajax function
    });
    

    【讨论】:

    • 好吧,这是我在上面的示例中遇到的众多问题之一。谢谢。
    【解决方案2】:

    而不是使用

    <input type="submit" value="Advertise in Public Chat">
    

    你可以使用

    <input type="button" id="submit-btn" value="Advertise in Public Chat">
    

    对于 ajax,您可以这样做:

    $("#submit-btn").click(function(){
      $.ajax({
       type: "POST",
       url: "advertise.php",
       data: dataString,
       success: function() {
        $('#message').html("<h2>Message sent to Chat!</h2>")
       }
      });
    });
    });
    

    【讨论】:

    • 当我点击按钮时,页面刷新,我没有看到“发送到聊天的消息。我有 jquery ui 库,然后是在 head 标签之间的脚本。知道为什么 jquery没有加载?
    • 如果您使用 firebug,请检查您得到的响应。而且根据您的代码,您没有使用任何 id message 的元素,因此 ajax 调用可能成功,但由于没有 id 为 message 的元素,您没有收到消息。我做了这个演示jsfiddle,希望对你有帮助。 php代码在小提琴注释中。
    【解决方案3】:

    这样你就可以在advertise.php中访问$_GET['advertise']

    更新

    我第一次忘记在数据声明中放花括号,现在可以使用了

    猜你喜欢
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多