javascript - 在单选按钮中打开新选项卡窗口?

标签 javascript jquery html

请任何人都可以帮助我,我被困在单选按钮中。 当用户单击单选按钮下的提交按钮时,他们应该被重定向到新窗口,如 target="_blank"

如果有任何可用的解决方案,请帮助我。

然后我更改window.location.href 两个window.open代码无法正常工作

function getCheckedValue(radioObj) {
if(!radioObj)
    return "";
var radioLength = radioObj.length;
if(radioLength == undefined)
    if(radioObj.checked)
        return radioObj.value;
    else
        return "";
for(var i = 0; i < radioLength; i++) {
    if(radioObj[i].checked) {
        return radioObj[i].value;
    }
}
return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
if(!radioObj)
    return;
var radioLength = radioObj.length;
if(radioLength == undefined) {
    radioObj.checked = (radioObj.value == newValue.toString());
    return;
}
for(var i = 0; i < radioLength; i++) {
    radioObj[i].checked = false;
    if(radioObj[i].value == newValue.toString()) {
        radioObj[i].checked = true;
    }
}
}
input[type=radio] {
    -webkit-appearance: radio;
    -O-appearance: radio;
    -moz-appearance: radio;
    opacity:1;
}

#header .bottom-header.blog h1 {
    font-size: 64px;
	color: red
}

input[type=radio]:hover + label {
border: solid 1px white; padding: 5px; border-radius: 1px;
border-color : red;
color : red;
opacity:1;

}  

input[type=radio]:checked + label {
border: solid 2px white; padding: 5px; border-radius: 1px;
border-color : red;
color : red;
opacity:1;
}

input[type=text] {
font-weight:bold;
}
input[type=text]:hover {
}
input[type=email]:hover {
}
<form name="radioExampleForm" method="get" action="" onsubmit="return false;">
<p>&nbsp;<label for="number0"><input type="radio" value="http://www.google.com" name="number"     id="number0"> Zero</label></br>
&nbsp;<label for="number1"><input type="radio" value="http://www.ebay.com" name="number" id="number1"> One</label></br>
&nbsp;<label for="number2"><input type="radio" value="http://www.gamestop.com" name="number" id="number2"> Two</label></br>
</p>
<input type="button" onclick="window.location.href = (getCheckedValue(document.forms['radioExampleForm'].elements['number']));" value="Buy Now">

</form>

最佳答案

您应该使用 window.open(url, '_blank') 这将在新选项卡中打开网址。我再说一遍,在新选项卡中打开肯定会受到弹出窗口拦截器的攻击。我建议您使用带有 target="_blank" 的 anchor 标记来代替按钮(并在 onchange 中更改 a 标记的 href 单选按钮),不会被弹出窗口阻止程序阻止

function getCheckedValue(radioObj) {
if(!radioObj)
    return "";
var radioLength = radioObj.length;
if(radioLength == undefined)
    if(radioObj.checked)
        return radioObj.value;
    else
        return "";
for(var i = 0; i < radioLength; i++) {
    if(radioObj[i].checked) {
        return radioObj[i].value;
    }
}
return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
if(!radioObj)
    return;
var radioLength = radioObj.length;
if(radioLength == undefined) {
    radioObj.checked = (radioObj.value == newValue.toString());
    return;
}
for(var i = 0; i < radioLength; i++) {
    radioObj[i].checked = false;
    if(radioObj[i].value == newValue.toString()) {
        radioObj[i].checked = true;
    }
}
}
input[type=radio] {
    -webkit-appearance: radio;
    -O-appearance: radio;
    -moz-appearance: radio;
    opacity:1;
}

#header .bottom-header.blog h1 {
    font-size: 64px;
	color: red
}

input[type=radio]:hover + label {
border: solid 1px white; padding: 5px; border-radius: 1px;
border-color : red;
color : red;
opacity:1;

}  

input[type=radio]:checked + label {
border: solid 2px white; padding: 5px; border-radius: 1px;
border-color : red;
color : red;
opacity:1;
}

input[type=text] {
font-weight:bold;
}
input[type=text]:hover {
}
input[type=email]:hover {
}
<form name="radioExampleForm" method="get" action="" onsubmit="return false;">
<p>&nbsp;<label for="number0"><input type="radio" value="http://www.google.com" name="number"     id="number0"> Zero</label></br>
&nbsp;<label for="number1"><input type="radio" value="http://www.ebay.com" name="number" id="number1"> One</label></br>
&nbsp;<label for="number2"><input type="radio" value="http://www.gamestop.com" name="number" id="number2"> Two</label></br>
</p>
<input type="button" onclick="window.open(getCheckedValue(document.forms['radioExampleForm'].elements['number']), '_blank');" value="Buy Now">

</form>

关于javascript - 在单选按钮中打开新选项卡窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58056951/

相关文章:

html - Firefox 网站内容超越边缘

JavaScript 不会在鼠标悬停时运行

javascript - 弹出消息框

java - 从 JavaScript 调用托管 bean 方法以最终填充 Primefaces 对话框组件

javascript - 如何防止其元素内的链接默认?

jquery - 在调整窗口大小时更改 jquery 值

jquery - 使用 jQuery 离线数据存储和访问

javascript - 如果当前存在,如何更改内部链接的样式

javascript - 如何在给定点直接或通过另一个元素的空腔检测哪个元素可见/位于顶部?

javascript - 以编程方式禁用 jquery ui 对话框上的按钮,直到 ajax 调用完成?