JavaScript重定向Chrome问题

javascript redirect chrome issue

本文关键字:问题 Chrome 重定向 JavaScript      更新时间:2023-09-26

我一直在谷歌上搜索这个问题一段时间,我找到了很多答案,但我仍然无法让我的代码正常运行。

这是我的问题...

我有几个单选按钮(见下面的代码)

<form class="prov" id="province">
        <label>
            <input type="radio" id="on" name="prov" value="on" />
            <img src="on.png" width="164px" height="51px">
        </label>
        <label>
            <input type="radio" id="nl" name="prov" value="nl" />
            <img src="nl.png" width="297px" height="47px">
        </label>
        <label>
            <input type="radio" id="ns" name="prov" value="ns" />
            <img src="ns.png" width="253px" height="46px">
        </label>
        <label>
            <input type="radio" id="mb" name="prov" value="mb" />
            <img src="mb.png" width="197px" height="44px">
        </label>
        <label>
            <input type="radio" id="sk" name="prov" value="sk" />
            <img src="sk.png" width="311px" height="44px">
        </label>
        <label>
            <input type="radio" id="ab" name="prov" value="ab" />
            <img src="ab.png" width="165px" height="48px">
        </label>
        <label>
            <input type="radio" id="bc" name="prov" value="bc" />
            <img src="bc.png" width="351px" height="42px">
        </label>
            <button id="select" onclick="provSelect()">Submit</button>
        </form> 

我需要做的是,一旦选择了其中一个"按钮"并单击底部的 #select 按钮,我希望将它们重定向到特定页面。每个单选按钮都会将它们定向到不同的页面。

这是我的Javascript。

function provSelect() {
var provMain = document.getElementById('province').prov;
var provinceMain;
for(var i = 0; i < provMain.length; i++) { 
    if(provMain[i].checked == 'on') {
        window.location = "test.html";

        }
    }
}

老实说,我为IE工作,但是无论我做什么,它都拒绝在chrome中工作。 我玩了很多,现在代码根本不起作用。.

主要需要它在IE和Chrome中工作,但是如果chrome是唯一的选择,我宁愿这样做。

任何帮助将不胜感激。

谢谢!

试试这个:

function provSelect() {
var provMain = document.getElementById('province').prov;
var provinceMain;
for(var i = 0; i < provMain.length; i++) { 
    if(provMain[i].checked) {
        window.location = "test.html";

        }
    }
}

选中的属性具有布尔值。请参阅:已检查的属性

您的 HTML 有点偏离 - 您不会将输入标签嵌套在标签标签内。相反,标签的 for 属性指向输入的 id:

此外,将 type="button" 添加到您的按钮 - 这将防止任何意外的表单提交。

最后,在你的 JavaScript 函数中,更改:

if(provMain[i].checked == 'on') {

if(provMain[i].checked) {

如果选中该单选按钮,则选中的属性将为 true。由于您真正想要的是根据选中的按钮执行某些操作,因此您需要获取选中的单选按钮的值:

provMain[i].value

会返回它供您做出决定。

祝你好运!