对于任何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/