2017-07-31 78 views
0

我想打開一個窗口,具體取決於複選框中選中的內容。它應該是fb或twitter或兩個窗口都打開,如果兩者都選中。複選框打開窗口

<script type="text/javascript"> 

var checky = document.getElementById('twitter'); 

function doalert(checkboxElem) { 
if (checky.checked) 
{ 
window.open("https://twitter.com/intent/tweet?url=http://www.myurl.com&  text=" + document.forms["frm1"]["fname"].value + ""); 
} 
else 
{ 
window.open("http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.myurl.com%2Fimages%2Fcrowd_support.jpg"); 

} 
} 
</script> 



<form name="frm1" action="select_demo.html" onsubmit="doalert(this)"> 
<label><input type="checkbox" id="twitter" name="twitter" value="false">Twitter</label><label><input type="checkbox" name="facebook" value="">Facebook</label> 
<br> 
<textarea name="fname" cols="68" rows="3"></textarea> 
<br> 
<input type="submit" value="Submit" /> 
</form> 
+0

瀏覽器不會讓你使用'window.open'一次打開2個窗口。需要單獨的活動......每個活動一個窗口 – charlietfl

回答

0

您需要檢查複選框是否已選中或不在此功能內。功能以外,當頁面加載時總是未選中

<script type="text/javascript"> 
function doalert(checkboxElem) { 
var checkytw = document.getElementById('twitter'); 
var checkyfb = document.getElementById('facebook'); 

if (checkytw.checked) 
window.open("https://www.twitter.com"); 
if(checkyfb.checked) 
window.open("http://www.facebook.com"); 

} 

</script> 



<form name="frm1" action="select_demo.html" onsubmit="doalert(this)"> 
<label><input type="checkbox" id="twitter" name="twitter"  value="false">Twitter</label><label><input type="checkbox" name="facebook" id="facebook" value="">Facebook</label> 
<br> 
<textarea name="fname" cols="68" rows="3"></textarea> 
<br> 
<input type="submit" value="Submit" /> 
</form> 
+0

@hermes你檢查了答案! –