以下 JavaScript 似乎在 Firefox 中有效,但在 Chrome 中无效?

Posted

技术标签:

【中文标题】以下 JavaScript 似乎在 Firefox 中有效,但在 Chrome 中无效?【英文标题】:The following JavaScript seems to be working in Firefox but not on Chrome? 【发布时间】:2012-10-22 14:10:52 【问题描述】:

我是网页设计/开发的新手;我有以下代码来检查是否在文本框中输入了数据。 javascript 检查是否添加了数据,如果没有输入会报错?

此脚本适用于 FireFox,但不适用于 Google Chrome。错误消息不会出现,数据会直接添加到数据库中。

<script type="text/javascript">      
        function validate()
            if(
            document.vulcanoForm.device_name.value == "" ||
            document.vulcanoForm.muid.value == "" ||
            document.vulcanoForm.map_version.value == "0.000")
            
                alert("Please fill out all fields before clicking submit!");
                return false;  
            
            else
            
                alert("Hold on just adding to database :)");
                return true;  
            
        
    </script>

<body>
    <a href="index.xhtml"> Mogadishu </a> <br/>
    <form action="vulcanoprocess.php" method="post" onsubmit="return validate()" name="vulcanoForm">

        <fieldset>
            <legend>Device Information</legend>

            <label for="device_name">Device Name:</label><br />
            <input type="text" name="device_name" id="device_name" /><br />

            <label for="muid">MUID:</label><br />
            <input type="text" name="muid" id="muid" /><br />

            </form>
</body>

【问题讨论】:

在 else 中返回 false,并尝试打印/警告值并查看差异。 刚刚尝试过,但不幸的是没有用。不断将数据添加到数据库中 为我工作 - jsfiddle.net/GeGpv @ZoltanToth 刚刚在 jsfiddle 上尝试过,对我也有用,但在 Google Chrome 上不起作用? 你有提交按钮吗?这个小提琴似乎在 chrome 中工作。 jsfiddle.net/PadMw/1 【参考方案1】:

要进行调试,请将 FireBug 用作 Firefox 插件并选择 javascript 选项卡以查看错误或“控制台”。使用该信息来修复代码中的错误,并在它们消失时在 chrome 中测试脚本。如果还是有错误,可能是chrome浏览器缺少某种类型的js兼容。

【讨论】:

嘿不知道是什么导致了使用firebug时的错误然后发现这是javascript和chrome的兼容性问题。不过感谢您的提示 很高兴能帮上忙,如果我愿意的话。 :)【参考方案2】:

Onsubmit doesn't work in Chrome

当你用谷歌搜索“google chrome onsubmit javascript”时要阅读很多内容

编辑添加

<html>
<head>
<script type="text/javascript">
    function validate()
        if(
        document.getElementById('device_name').value.trim() === "" ||
        document.getElementById('muid').value.trim() === "" ||
        document.getElementById('map_version').value.trim() === "0.000"
        )
        
            alert("Please fill out all fields before clicking submit!");
            return false;
        
        else
        
            alert("Hold on just adding to database :)");
            return true;
        
    
</script>


    <title></title>
</head>
<body>
    <a href="index.xhtml">Mogadishu</a><br>
    <form action="vulcanoprocess.php" method="post" onsubmit="return validate()" name="vulcanoForm">
        <fieldset>
            <legend>Device Information</legend> <label for="device_name">Device Name:</label><br>
            <input type="text" name="device_name" id="device_name"><br>
            <label for="muid">MUID:</label><br>
            <input type="text" name="muid" id="muid"><br>
            <input type="submit">
        </fieldset>
    </form>
</body>

【讨论】:

谢谢 .. 我现在就读一下 .. 对我的代码有什么建议吗? 第二个警报出现了吗? 它可以在 Firefox 上运行,但不能在 Chrome 上运行。如果没有出现第二个警报,那也没关系 表示js某处有错误;可能是因为您没有 map_version 输入。在我的机器上,我将您的 document.vulcanoForm.device_name.value 样式行更改为 document.getElementById('device_name').value.trim() 等,它在 chrome 中工作。 当我将代码粘贴到此处时,我在创建表单时将 map_version 取出以缩短它,但在那里它不起作用..您可以将编辑后的代码发送给我吗在你的 Chrome 上工作?

以上是关于以下 JavaScript 似乎在 Firefox 中有效,但在 Chrome 中无效?的主要内容,如果未能解决你的问题,请参考以下文章

javascript用户选择突出显示

使用 JavaScript 裁剪图像适用于 IE,但不适用于 Firefox [重复]

JavaScript 函数别名似乎不起作用

Javascript 正则表达式(负)后视在 Firefox 中不起作用

NS_ERROR_FAILURE : Firefox 失败

IE8 及以下版本的 InnerHTML 问题