HTML Web 浏览器兼容性(IE8、Chrome)

HTML web browser compatibility (IE8, Chrome)

本文关键字:Chrome IE8 Web 浏览器 兼容性 HTML      更新时间:2023-09-26

我是一名嵌入式程序员。
我正在开发一个网络 GUI,但遇到了一个问题 - 网络浏览器兼容性。

代码在 Chrome 中正常执行,但在 Internet Google 浏览器中无法正常执行。

Internet Explorer 8 之后,必须执行代码。

我认为这是一个Web标准问题。也许我的HTML知识很差。

  function validateForm() {
    var x = document.forms["form_dl_rf_set"]["DL_RF_2000_id"].value;
    if (x == 1) {
      var y = document.forms["form_dl_rf_set"]["DL_RF_2000_num"].value;
      if (!y) {
         alert("error ");
         return false;
      }
    }
  }
  <form name="form_dl_rf_set" action="dl_rf_set.cgi" method=post onsubmit="return validateForm()">
  <input type="radio" id="DL_RF_2000" name="DL_RF_2000_id" value="0"checked="checked">
  <label for="DL_RF_2000">変更しない<label>
  <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="radio" id="DL_RF_2000" name="DL_RF_2000_id" value="1">
  <label for="DL_RF_2000">&nbsp;<input type="number" id="DL_RF_2000" name="DL_RF_2000_num" min="-10.0" max="2.0" step="0.5" size="4" value=-1.0>&nbsp;dB</label>

函数说明 - 检查空白。

这是一个评论,而不是答案,因为不可能从OP中确定问题。 希望这将有助于找到问题,以便提供答案。

发布的代码不完整,没有提交按钮或提交表单的方法。添加提交按钮可以解决此问题,但可能与实际代码不一致。

validateForm 函数中,有:

    var x = document.forms["form_dl_rf_set"]["DL_RF_2000_id"].value;

表单中有多个名称为"DL_RF_2000_id"的控件,因此表达式为:

document.forms["form_dl_rf_set"]["DL_RF_2000_id"]

将返回这些元素的节点列表。NodeList 没有 value 属性,因此 x 将是未定义的。然后是:

if (x == 1) 

这将始终为 false,因此该函数返回 undefined 并提交表单。这将发生在所有浏览器中,而不仅仅是IE。

我看到有几个问题,第一个是 ID 需要是唯一的......

尝试。。。

<form name="form_dl_rf_set" action="dl_rf_set.cgi" method=post onsubmit="return validateForm()">
    <input type="radio" id="DL_RF_2000_id" name="DL_RF_2000_id1" value="0" checked="checked" />
    <label for="DL_RF_2000">変更しない</label>
    <input type="radio" id="DL_RF_2000_id2" name="DL_RF_2000_id2" value="1" />
    <label for="DL_RF_2000">&nbsp;</label>
    <input type="number" id="DL_RF_2000_num" name="DL_RF_2000_num" min="-10.0" max="2.0" step="0.5" size="4" value="-1.0">&nbsp;dB

我还清理了一些关闭标签问题(并删除了<td>标签,因为它似乎不需要在那里。

请注意,所有标签现在都有唯一的 ID,现在可以干净地引用这些 ID。

更新:我看到的另一个问题是重复使用这些名称。 这也在上面的代码中进行了调整。

此外,还有一个没有引号的值。