2017-07-31 8 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つのウィンドウを一度に開くことはできません。別々のイベントが必要...イベントごとに1つのウィンドウ – 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あなたは答えをチェックしました! –

関連する問題