表单提交 - php ajax jquery-ui - 不会在 Firefox 或 IE 上执行

Posted

技术标签:

【中文标题】表单提交 - php ajax jquery-ui - 不会在 Firefox 或 IE 上执行【英文标题】:form submit - php ajax jquery-ui - will not execute on Firefox or 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 上完美运行。

选择>

发送请求时会改变

【问题讨论】:

【参考方案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']

更新

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

以上是关于表单提交 - php ajax jquery-ui - 不会在 Firefox 或 IE 上执行的主要内容,如果未能解决你的问题,请参考以下文章

PHP + jQuery + Ajax 表单提交 - 同一页面返回结果

php 到 AJAX 表单提交

使用php提交ajax表单

PHP symfony 4 ajax 表单提交

表单提交(同步提交)和AJAX提交(异步提交)

php 用于在PHP中提交AJAX表单的Jquery Ajax Post示例