对于任何JavaScript或JQuery,我都是绝对的初学者。我正在尝试使一些复选框在新选项卡中打开,如果选中它们,然后单击提交按钮。仅当选中一个复选框时,我的代码才有效。如果检查了多个,则在选项卡中仅打开第一个。我的代码如下:

Java脚本

function CheckCheckboxes(form)
{
var
    i, counter = 0;

for (i = 0; i < form.elements.length; ++i) {
    if ('checkbox' === form.elements[i].type && form.elements[i].checked) {++counter;
        window.open('http://' + form.elements[i].value, '_blank');
    }
}
if (!counter) {
    alert('Please check at least one!');
}
}


的HTML

<form onsubmit="CheckCheckboxes(this); return false;">
<table align="left" border="1" style="border-collapse: collapse;">

<tr style="height:30px">
    <td colspan="8"><center>Companies</center></td>
</tr>

<tr>
     <td><input type="checkbox" name="Google" value="www.google.com" />Google</td>
     <td><input type="checkbox" name="Apple" value="www.apple.com" />Apple</td>
     <td><input type="checkbox" name="Microsoft" value="www.Microsoft.com" />Microsoft</td>
     <td><input type="checkbox" name="facebook" value="www.facebook.com" />Facebook</td>

 <td><br /><input type="submit" value="Send Form" /></td>
</tr>

</table>
</form>


任何帮助将不胜感激。在这里呆了三个半小时:)

谢谢

最佳答案

您的代码可以正常工作,但是显示第一个窗口后,浏览器将阻止新窗口。默认情况下,浏览器阻止一个网站上的多个弹出窗口,但是您可以将其关闭,但是不要期望您的用户这样做。

Fiddle

您的代码window.open('http://' + form.elements[i].value, '_blank');有效:)

关于javascript - 提交时打开复选框多个选项卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24625585/

10-12 12:58
查看更多