HTML,JS基本脚本不适用于Google Chrome,但适用于Mozilla和Microsoft Edge

皮奥特·怀斯洛

首先,我想我需要给你一些背景知识。我有1次有关JS经验的讲座,而我对HTML的经验很少。我需要使用一个简单的JS脚本创建一个基本站点。我选择了一个简单的投票系统。例如,您有2种餐厅,您可以对它们进行任何反馈(1-5票)。网站显示特定餐厅的平均票数和票数。一切在Mozilla Firefox和Microsoft Edge上都能正常运行,但在Google Chrome上根本无法运行,我也不知道可能是什么问题。在下面,您可以找到我想在自己的网站中实现的投票系统框架。最初,我用本国语言编写此代码是为了与“队友”保持透明,这是我为该问题创建的一个版本。

谢谢


<!DOCTYPE html>
<html>

<head>

    <meta charset="utf-8" />

    <title></title>

    <script type="text/javascript">
        var votesSum = [0, 0, 0, 0, 0];
        var numVotes = [0, 0, 0, 0, 0];
        var averageVotes = [0, 0, 0, 0, 0];
        function average(clicked_value, sent_id)
        {
            var id = parseFloat(sent_id[0]);
            var averageOutput = "average" + id;
            var numVotesOutput = "numVotes" + id;

            numVotes[id - 1] += 1;
            votesSum[id - 1] += parseFloat(clicked_value);
            var average = (votesSum[id - 1] / numVotes[id - 1]).toFixed(2);
            averageVotes[id - 1] = average
            document.getElementById(numVotesOutput).value = numVotes[id - 1];
            document.getElementById(averageOutput).value = averageVotes[id - 1];
        }

    </script>

</head>

<body>
    <div class="vote1">
        Restaurant X
        <select >
            <option id="1a" value="1" onclick="average(this.value,this.id)">1</option>
            <option id="1b" value="2" onclick="average(this.value,this.id)">2</option>
            <option id="1c" value="3" onclick="average(this.value,this.id)">3</option>
            <option id="1d" value="4" onclick="average(this.value,this.id)">4</option>
            <option id="1e" value="5" onclick="average(this.value,this.id)">5</option>
        </select>
        <br />
        Average  <input id="average1" value="0" size="4" readonly />
        <br />
        Number of votes  <input id="numVotes1" value="0" readonly size="4" />
    </div>


    <div class="vote2">
        Restaurant Y
        <select>
            <option id="2a" value="1" onclick="average(this.value,this.id)">1</option>
            <option id="2b" value="2" onclick="average(this.value,this.id)">2</option>
            <option id="2c" value="3" onclick="average(this.value,this.id)">3</option>
            <option id="2d" value="4" onclick="average(this.value,this.id)">4</option>
            <option id="2e" value="5" onclick="average(this.value,this.id)">5</option>
        </select>
        <br />
        Average  <input id="average2" value="0" size="4" readonly />
        <br />
        Number of Votes  <input id="numVotes2" value="0" readonly size="4" />
    </div>

</body>
</html>
一些

您已经onclick在选项上设置了,而不是选择元素。

该事件应该在select元素上,并且可能应该在select元素上,onchange以便即使通过键盘或触摸更改了该值,该事件也可以起作用。

例:

<select data-restaurant="1" onchange="average(this.value, this.dataset.restaurant)">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
</select>

将餐厅ID设置为数据属性。

如果要使用按钮代替:

<div class="vote1">
    Restaurant X
    <button value="1" name="1" onclick="average(this.value, this.name)">1</button>
    <button value="2" name="1" onclick="average(this.value, this.name)">2</button>
    <button value="3" name="1" onclick="average(this.value, this.name)">3</button>
    <button value="4" name="1" onclick="average(this.value, this.name)">4</button>
    <button value="5" name="1" onclick="average(this.value, this.name)">5</button>
    <br />
    Average <input id="average1" value="0" size="4" readonly />
    <br />
    Number of votes <input id="numVotes1" value="0" readonly size="4" />
</div>

使用按钮可以解决多个投票具有相同值的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Highchart不适用于Google Chrome

来自分类Dev

脚本不适用于$(document).ready(function(){}

来自分类Dev

SignalR不适用于Google Chrome

来自分类Dev

脚本不适用于jQuery 1.9.0

来自分类Dev

localStorage不适用于Google Chrome

来自分类Dev

此PHP脚本不适用于Internet Explorer和Microsoft Edge,但适用于Chrome / Firefox / Safari / Opera

来自分类Dev

Bootstrap Affix不适用于IE,Chrome或MS Edge

来自分类Dev

jQuery脚本不适用于新元素

来自分类Dev

Microsoft Sitka字体不适用于Chrome和Firefox

来自分类Dev

HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

来自分类Dev

Google脚本的onClick不适用于HTML表单

来自分类Dev

突变观察者不适用于受支持的Microsoft Edge版本

来自分类Dev

Javascript提取不适用于Edge上的URLsearchparams

来自分类Dev

最小宽度不适用于Chrome或Edge中的CSS网格

来自分类Dev

适用于Google Chrome和Edge的Windows Kerberos身份验证

来自分类Dev

Highchart不适用于Google Chrome

来自分类Dev

JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

来自分类Dev

打印页面,因为弹出窗口不适用于在Mozilla和IE上运行的Chrome

来自分类Dev

HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

来自分类Dev

可折叠 HTML5 <detail><summary> 适用于 FF 和 Chrome,但不适用于 IE 和 Edge

来自分类Dev

SVG 矩形高度设置不适用于 FireFox 和 Ms Edge

来自分类Dev

Javascript 功能仅适用于 edge,不适用于 chrome、firefox 或 opera

来自分类Dev

SVG 动画不适用于 mozilla,但适用于 chrome 和 safari

来自分类Dev

使用 jquery 上传文件不适用于 Edge 和 Safari (v. 11.1)

来自分类Dev

Windows Virtualhost 上的 Apache:适用于 IE 或 Edge,但无法在 Chrome 和 Firefox 上连接

来自分类Dev

弹出框适合 Chrome 中的内容宽度,但不适用于 Edge

来自分类Dev

okta - 不适用于 Edge 和 IE 的生产环境

来自分类Dev

工作剪贴板脚本与 Chrome 不兼容。适用于 Edge/IE

来自分类Dev

VueJs 3 + Vuetify:不适用于 IE 和 Edge

Related 相关文章

  1. 1

    Highchart不适用于Google Chrome

  2. 2

    脚本不适用于$(document).ready(function(){}

  3. 3

    SignalR不适用于Google Chrome

  4. 4

    脚本不适用于jQuery 1.9.0

  5. 5

    localStorage不适用于Google Chrome

  6. 6

    此PHP脚本不适用于Internet Explorer和Microsoft Edge,但适用于Chrome / Firefox / Safari / Opera

  7. 7

    Bootstrap Affix不适用于IE,Chrome或MS Edge

  8. 8

    jQuery脚本不适用于新元素

  9. 9

    Microsoft Sitka字体不适用于Chrome和Firefox

  10. 10

    HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

  11. 11

    Google脚本的onClick不适用于HTML表单

  12. 12

    突变观察者不适用于受支持的Microsoft Edge版本

  13. 13

    Javascript提取不适用于Edge上的URLsearchparams

  14. 14

    最小宽度不适用于Chrome或Edge中的CSS网格

  15. 15

    适用于Google Chrome和Edge的Windows Kerberos身份验证

  16. 16

    Highchart不适用于Google Chrome

  17. 17

    JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

  18. 18

    打印页面,因为弹出窗口不适用于在Mozilla和IE上运行的Chrome

  19. 19

    HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

  20. 20

    可折叠 HTML5 <detail><summary> 适用于 FF 和 Chrome,但不适用于 IE 和 Edge

  21. 21

    SVG 矩形高度设置不适用于 FireFox 和 Ms Edge

  22. 22

    Javascript 功能仅适用于 edge,不适用于 chrome、firefox 或 opera

  23. 23

    SVG 动画不适用于 mozilla,但适用于 chrome 和 safari

  24. 24

    使用 jquery 上传文件不适用于 Edge 和 Safari (v. 11.1)

  25. 25

    Windows Virtualhost 上的 Apache:适用于 IE 或 Edge,但无法在 Chrome 和 Firefox 上连接

  26. 26

    弹出框适合 Chrome 中的内容宽度,但不适用于 Edge

  27. 27

    okta - 不适用于 Edge 和 IE 的生产环境

  28. 28

    工作剪贴板脚本与 Chrome 不兼容。适用于 Edge/IE

  29. 29

    VueJs 3 + Vuetify:不适用于 IE 和 Edge

热门标签

归档