2015-10-21 2 views
1
<span id="[LINK1]"><a href="link1" target="_blank" onclick="window.open('[LINK2]'); window.open('[LINK3]');">text</a></span> 

Всякий раз, когда ссылка 2 или 3 пуста, код откроет пустое окно, поэтому мне было интересно, какой jquery я могу добавить, чтобы проверить, нет ли в скобках в window.open, и если оно пустое, чтобы удалить этот атрибут window.open().Как удалить window.open(), если ссылка в() пуста?

Редактировать: чтобы уточнить, ссылка создается из токена, используемого в редакторе шаблонов модуля DNN. Например, существует форма, в которой я ввожу ссылку в поле link1, а затем я использую токен [LINK1], вместо этого будет использоваться ссылка в этом поле.

Спасибо

+0

Проверьте это в функцию и вызвать функцию 'onclick' – SeeSharp

ответ

1

Вы должны создать функцию и выполнить ее проверку.

<a href="link1" onclick="open_links(link2, link3)">text</a> 
<script type="text/javascript"> 
    function open_links(link2, link3) { 
     if (link2 != '') 
      window.open('link2'); 
     if (link3 != '') 
      window.open('link3'); 
    } 
</script> 
+0

Привет, спасибо за ответ! Вместо link1, 2 и 3 я использую токены, которые получают ссылку из формы. Я попытался заменить все значения ссылок на имена токенов, но только открыл страницу из первой ссылки в href. Мне было интересно, нужно ли мне в этом случае сделать что-то другое. –

0

Попробуйте это. Вы можете получить URL-адреса от любого внешнего источника. В следующем примере я использовал массив.

<span id="link"><a href="link1" target="_blank" onclick="window.open('link2'); window.open('link3');">text</a></span> 
<br> 
    Old HTML : 
    <div id="old"></div> 
    <br> 
New HTML: 
    <br> 
<div id="new"></div> 

var newLinks = ""; 
var linkArray = new Array(); 
linkArray.push("http://www.google.com"); 
linkArray.push("http://www.msn.com"); 
linkArray.push(""); 

$.each(linkArray,function(i) 
{ 
    if(linkArray[i]) 
    newLinks += "window.open('" + linkArray[i] + "');"; 
}); 

$("#old").text($("span").html()); 

$("span a").attr('onclick', newLinks); 

$("#new").text($("span").html()); 

http://jsfiddle.net/ukdny1gb/2/