2012-10-08 64 views
0

我想用鏈接列表(或按鈕或圖片無關緊要)創建頁面,以便當用戶單擊按鈕/鏈接時在無線電選擇中,鏈接將在同一頁面的iframe中打開,或者打開一個target =「_ blank」的新窗口。可能嗎?從href target =「_ blank」改爲使用單選按鈕的iframe

我想,也許用這樣一種形式:

<html>  
<head><title>Rec. Links</title></head>  
<body>  
<form method="get" action="?">   
<imput type="radio" value="new" name="group1"/>  
<input type="radio" value="iframe"name="group1"/>  
</form>  
<a href="..."/>  
<a href="..."/>  
<a href="..."/>  
...  
<a href="..."/>  
</body>  
</html> 

但我在哪裏可以發送的選擇?我可以將它發送到同一頁面嗎?

回答

1

您必須在每個單選按鈕上添加點擊處理程序,例如,

... onclick="updateTargets('iframe');" /> 
... onclick="updateTargets('_blank');" /> 

創建,這將改變每個錨的目標函數:

function updateTargets(newTarget) 
{ 
    var anchors = document.getElementsByTagName('a'); 

    for (var i = 0, item; item = anchors[i]; ++i) { 
     item.target = newTarget; 
    } 
} 
+0

會工作,但需要驗證'newTarget'是否爲可接受的值。 OP已經給出了「新」作爲「目標」值,這是不正確的。 –

+1

@Pushpesh我已經在'onclick'處理程序代碼中使用了正確的值。 –

+0

從我+1在那:)。 –

0

使用jQuery這樣的事情可能會開始你了 - 基本上你綁定到的無線電組改變事件,然後更改所有目標錨點的屬性取決於所選的值。

<script type="text/javascript"> 

jQuery(document).ready(function($) { 

$('input:radio[name=group1]').change(function() { 
     var value = $(this).val(); 
     if(value == "iframe") { 
       $('a').attr('target', ''); 
     } else { 
       $('a').attr('target', '_blank'); 
     } 
}); 
}); 
</script> 
</head> 
<body> 

<form method="get" action="?"> 
<input type="radio" value="new" name="group1" /> 
<input type="radio" value="iframe"name="group1"/> 
</form> 
<a href="http://www.google.com">Jello</a> 
</body> 
</html> 
相關問題