Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2013, 16:45
Интересующийся
Отправить личное сообщение для maksim_bezgodov Посмотреть профиль Найти все сообщения от maksim_bezgodov
 
Регистрация: 18.06.2013
Сообщений: 11

Метод "split"
И снова здравствуйте!

<script type="text/javascript">
var brief = "Пётр Петров<br>Иван Иванов<br>Максим Максимов";
var lines = brief.split("<br>");
if (lines) {
 for (var i=[0], c=lines.length; i<c; i++) {
 document.write("<a href=" + "/search/?q=");
 document.write(lines[i]);
 document.write("&m=publ");
 document.write(">");
 document.write(lines[i]);
 document.write("</a>");
 document.write("<br>");
 }
 }
 </script>


Мне нужно, чтобы переходило в поиск, но ссылка получается не та, которую я хочу /search/?q=Пётр , а мне нужно чтобы было /search/?q=Пётр Петров
Т.е. выводится только первое слово, а мне нужно все два слова, чтобы были в ссылке.
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2013, 17:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В кавычки обернуть нужно ж. И document.write не так работает, как ты себе это представляешь. Нужно не клочками выводить код, а целиком. Накапливай код в переменной и под конец выведи через один document.write
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2013, 17:54
Интересующийся
Отправить личное сообщение для maksim_bezgodov Посмотреть профиль Найти все сообщения от maksim_bezgodov
 
Регистрация: 18.06.2013
Сообщений: 11

<script type="text/javascript">
 <!--
var brief = "$BRIEF$";
var lines = brief.split("<br>");
if (lines) {
 for (var i=[0], c=lines.length; i<c; i++) {
     document.write("<a href=" + "/search/?q=" + lines[i] + "&m=publ" + ">");
 document.write(lines[i] + "</a>" + "<br>");
 }
 }
 //-->
 
 </script>



Ну я сделал вот так и всеровно всё также...
Может быть я что-то не так сделал?
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2013, 17:55
Интересующийся
Отправить личное сообщение для Solonik Посмотреть профиль Найти все сообщения от Solonik
 
Регистрация: 14.06.2013
Сообщений: 29

Не совсем понял смысл 7 раз писать document.write не проще ли склеить строку через +

попробуй стереть свой цикл for и записать вот так
for (var i=0; i<lines.length; i++) {
 document.write('<a href="/search/?q=' + lines[i] + '&m=publ">'+lines[i]+'</a><br>');
 }
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2013, 17:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

maksim_bezgodov,
перезапишите пропуск на %20 или используйте encodeURI(lines[i])
Ответить с цитированием
  #6 (permalink)  
Старый 20.06.2013, 18:04
Интересующийся
Отправить личное сообщение для maksim_bezgodov Посмотреть профиль Найти все сообщения от maksim_bezgodov
 
Регистрация: 18.06.2013
Сообщений: 11

Solonik,
Браво! Спасибо Огромное! Работает!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Общие вопросы Javascript 1 13.04.2011 22:09
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Как узнать у какого объекта вызван метод. Scalar Events/DOM/Window 4 26.03.2010 11:10
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 16:04
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 19:29