Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2012, 23:42
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Выбрать ссылку и выполнить по ней переход
Ребят подскажите, есть код, который выводит ссылку в теге <a> с текстом, надо отобрать саму ссылку из кода, и выполнить по ней переход.

Вот сам код:
$("#searchstring").keypress(function(e) {
  if (e.which == 13) { alert($(this).val()); return false; }; 
});


Он выводит такст следующего характера:
<a href="ссылка">текст</a>


Как доработать код что бы оно не выводило ссылку с текстом а выполняло именно переход по ней??


Пробовал так:
$("#searchstring").keypress(function(e) {
  if (e.which == 13) { window.location=$(this).find("a").attr("href"); return false; }; 
});
- не работает
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2012, 00:15
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от djonA
window.location
location.href
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2012, 00:19
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

При переходе пишет: undefined

Пробую так:
$("#searchstring").keypress(function(e) {
  if (e.which == 13) { window.location.href=$(this).find("a").attr("href"); return false; }; 
});



Может что то не так делаю???
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2012, 00:29
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Странно что если я выполняю такой запрос:
$("#searchstring").keypress(function(e) {
  if (e.which == 13) { alert($(this).val()); return false; }; 
});
то выводит html код, вида <a href="урл">текст</a>

а если я отбираю из этого текста именно ссылку
$("#searchstring").keypress(function(e) {
  if (e.which == 13) {  window.location.href=$(this).find("a").attr("href"); return false; }; 
});
, оно пишет почему-то undefined
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2012, 00:43
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Вы совсем не видите разницу между
$(this).val()

и
$(this).find("a")

?

Вы имеете строку, вам надо из нее получить ссылку.
var l = '<a href="javascript.ru">bla bla bla</a>';
alert(l.match(/href="([^"]+)/)[1]);


Для вашего кода будет примерно так:
var link = $(this).val().match(/href="([^"]+)/);
location.href = link[1];
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 19.11.2012, 01:13
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

var l = '<a href="javascript.ru">bla bla bla</a>';
	alert(l.match(/href="([^"]+)/)[1]);
прекрастно работает

var link = $(this).val().match(/href="([^"]+)/);
location.href = link[1];
- не работает и все хоть убей...

что делаю не так??
Ответить с цитированием
  #7 (permalink)  
Старый 19.11.2012, 01:25
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Еще раз проверил:
var l = '<a href="javascript.ru">bla bla bla</a>';
	alert(l.match(/href="([^"]+)/)[1]);
работает отлично:

var link = $(this).val().match(/href="([^"]+)/);
location.href = link[1];
- не хочет рабатать

попробовал такой вариант:
var link = $(this).val().match(/href="([^"]+)/);
alert( link[1]);


тоже не работает

Подскажите что не так?
Ответить с цитированием
  #8 (permalink)  
Старый 19.11.2012, 01:55
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<input type='text' value='<a href="http://javascript.ru">Link</a>' />
<script>
	var link = $('input').val().match(/href="([^"]+)/);
	alert( link[1]);
</script>


Приведите живой пример где не работает
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #9 (permalink)  
Старый 19.11.2012, 02:03
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

оиск
нужно что бы срабатывал при нажатии enter

пишу

$("#searchstring").keypress(function(e) {
  if (e.which == 13) {  var link = $('input').val().match(/href="([^"]+)/);
	    alert( link[1]);  }; 
});

Последний раз редактировалось djonA, 19.11.2012 в 02:24.
Ответить с цитированием
  #10 (permalink)  
Старый 19.11.2012, 02:04
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

пишу скажем wlx и жму enter, надо что бы переходило к урлу данного товара

именно по enter'y, с переходом по клику мышкой уже разобрался
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод цифры и переход на ссылку. Petr95 Общие вопросы Javascript 3 30.01.2012 12:58
Выбрать только наведенную ссылку bohdantheone Общие вопросы Javascript 6 20.01.2012 19:38
Как выбрать активную ссылку? Prays jQuery 3 02.06.2011 19:47
При нажатии на ссылку браузер запоминает как переход на др страничку mff AJAX и COMET 13 17.02.2010 21:46
переход по ссылке только после нескольких кликов по ней smilexpo Events/DOM/Window 8 24.11.2009 16:57