【问题标题】:Javascript works in Chrome, Safari and Opera but not FirefoxJavascript 适用于 Chrome、Safari 和 Opera,但不适用于 Firefox
【发布时间】:2010-08-14 18:39:21
【问题描述】:

Site here.

基本上,中间的框不会像在其他浏览器中那样从我在 Firefox 中的数据库中生成随机字符串。好像没找到问题,我的JS技术不咋地。

我没有在 IE 中测试它,因为我现在无法访问它。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: javascript jquery firefox


    【解决方案1】:

    问题是 form 没有定义你在 firefox 中使用它的地方,你可以用不同的方式编写它,以便像这样跨浏览器兼容:

    function get() {
      $('#dare').fadeOut(500);
    
      $.post ('data.php', $("form").serialize(), function(output) {
        $('#dare').html(output).fadeIn(500);
      });
    }
    

    .serialize() 函数会将表单中的每个输入元素序列化,从而导致所有其他浏览器都发出相同的请求...用更少的代码 :)

    【讨论】:

      【解决方案2】:

      检查firebug中的错误信息:

      form is not defined
      
      $.post ('data.php', {name: form.name.value, mode: mode, player: player}, 
      

      【讨论】:

        【解决方案3】:

        当您在 Firefox 中查看该站点时,会产生以下错误:

        错误:未定义表单
        源文件:http://saucydares.freehostia.com/saucy.php
        线路:29

        有问题的行是

        $.post ('data.php', {name: form.name.value, mode: mode, player: player},
        

        我认为您在此处所做的正确方法(如果我正确解释您在此处所做的)是使用 jQuery 获取表单的名称。

        【讨论】: