powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery list ссылки
20 сообщений из 20, страница 1 из 1
jQuery list ссылки
    #38477255
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Возникла проблема. Есть страница page1.htm на которой размещен список (виджет jQuery Mobile). Ниже приведен его код:
Код: javascript
1.
2.
3.
4.
5.
		<div data-role="collapsible" data-content-theme="b">
			<h3>Список</h3>
			<ul data-role="listview" id="credits" data-theme='b'>
			</ul>
		</div>


В него при загрузке документа заряжаются данные из json-а. На каждый li прикреплена ссылка-переход на другую страницу, следующим образом:
Код: javascript
1.
$("#credits").append('<li><a href="page2.htm?num='+json.cred_list[i].id+'"><h3 class="ui-li-heading">'+json.cred_list[i].number+'</h3></a></li>');


Проблема в следующем: на странице page2.htm есть форма с несколькими текстовыми полями. Нужно, чтобы значения в текстовые поля при загрузке страницы брались из json-файла. Сделал функцию $(document).ready, где все и делаю. И при переходе на page2.htm из списка (клик по li в списке на page1.htm), значения не заполняются. Зато если страницу page2.htm просто обновить - все прекрасно. В чем дело, подскажите пожалуйста?
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477262
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валисийна странице page2.htm есть форма с несколькими текстовыми полями. Нужно, чтобы значения в текстовые поля при загрузке страницы брались из json-файла.
Сделал функцию $(document).ready, где все и делаюможет, лучше это делать на сервере?
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477825
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как это сделать на сервере?
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477843
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477888
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если нужно не на сервере, а на клиенте? Просто интересно, почему не работает так, как надо. Если перейти на page2 по ссылке из list на page1, то ничего не получается, а если просто обносить - все работает.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477900
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалисийА если нужно не на сервере, а на клиенте?то желательно показать код который не работает
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477905
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валисий
Код: javascript
1.
$("#credits").append('<li><a href="page2.htm?num='+json.cred_list[i].id+'"><h3 class="ui-li-heading">'+json.cred_list[i].number+'</h3></a></li>');


Проблема в следующем: на странице page2.htm есть форма с несколькими текстовыми полями. Нужно, чтобы значения в текстовые поля при загрузке страницы брались из json-файла. Сделал функцию $(document).ready, где все и делаю. И при переходе на page2.htm из списка (клик по li в списке на page1.htm), значения не заполняются. Зато если страницу page2.htm просто обновить - все прекрасно. В чем дело, подскажите пожалуйста?
Какой нафик "json-файл"?
При клике на ссылку идет просто й переход по УРЛ той ссылки. А данные действительно пусть читает сервер реквестом.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477922
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так в том-то и дело, что вроде все работает, вот только некорректно.
Код страницы page1:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
$(document).ready(function () {  
	xhttp=new XMLHttpRequest();
	xhttp.open('GET','cred_depo.json',true);
	xhttp.send();
	xhttp.onreadystatechange=function(){
		if (xhttp.readyState==4){
			var json=eval( '('+xhttp.responseText+')' );
			for (var i=0; i<json.cred_list.length; i++) {
				$("#credits").append('<li><a href="sg_cred_acn.htm?num='+json.cred_list[i].id+'"><h3 class="ui-li-heading">'+json.cred_list[i].number+'&nbsp;'+json.cred_list[i].currency+'</h3><p class="ui-li-desc">'+json.cred_list[i].comment+'</p><p class="ui-li-aside ui-li-desc">'+json.cred_list[i].billing+'</p></a></li>');
				$("#credits").listview('refresh');
			}
			for (var i=0; i<json.depo_list.length; i++) {
				$("#depo").append('<li><h3 class="ui-li-heading">'+json.depo_list[i].number+'&nbsp;'+json.depo_list[i].currency+'</h3><p class="ui-li-desc">'+json.depo_list[i].comment+'</p><p class="ui-li-aside ui-li-desc">'+json.depo_list[i].billing+'</p></li>');
				$("#depo").listview('refresh');
  			}
	
		}
 	}
})
		</script>



Это все - при загрузке page1. Из json-а читаются данные для списка. Тут все работает корректно. listview с id==credits на каждый li имеет ссылку.

Код аналогичной функции page2:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<script>
	function get(n){ 
		a=window.location.toString(); 
		a="&"+a.substring(a.indexOf("?")+1);
		p=a.indexOf("&"+n+"="); 
		a=p==-1?'':a.substring(p+n.length+2); 
		return a.indexOf("&")>=0?a.substring(0,a.indexOf("&")):a;
	}
$(document).ready(function () {  
	
	var n = get('num');
	xhttp=new XMLHttpRequest();
	xhttp.open('GET','cred_depo.json',true);
	xhttp.send();
	xhttp.onreadystatechange=function(){
		if (xhttp.readyState==4){
			var json=eval( '('+xhttp.responseText+')' );
			alert("bla");
			for (var i=0; i<json.cred_list.length; i++) {
				if (json.cred_list[i].id==n)
					{
						$('#agr_num').val(json.cred_list[i].agr_num); //это все - элементы формы
						$('#start_date').val(json.cred_list[i].start_date);
						$('#end_date').val(json.cred_list[i].end_date);
						$('#rate').val(json.cred_list[i].rate);
						$('#proc_acn').val(json.cred_list[i].proc_acnt);
						$('#miss').val(json.cred_list[i].missed_time);
						$('#billing').val(json.cred_list[i].billing);
						$('#comment').val(json.cred_list[i].comment);
						$("#fs1").trigger("create");  //fieldset c id==fs
					}
			} 
		}
	}
})			
</script>


Сомневаюсь, чтобы это чем-то сильно помогло. Мне кажется, тут проблема не совсем в коде, а в самом переходе - когда идет переход из списка, на page2 почему-то не срабатывает функция document.ready. Я это проверил как раз добавлением alert. При переходе из списка на странице page1, alert на page2 не срабатывает. Зато, если находясь на странице page2, просто нажать "Обновить вкладку", то все работает в лучшем виде. Проблема именно в переходе. А может быть, нужно использовать другую функцию, а какую - не знаю.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477945
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валисийпочему-то не срабатывает функция document.ready. Я это проверил как раз добавлением alert1) alert не в начале функции, поэтому проверка неправильная
2) откройте для себя firebug (или что там у вашего браузера по F12 открывается).
Помогает и отлаживать, и ответ сервера на асинхронный запрос глянуть
3) если уж jQuery, то http://api.jquery.com/jQuery.get/ оно и кроссбраузерно и букаф меньше :)
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38477990
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил alert в начало функции. Аналогично - при переходе ничего не работает, при обновлении-все хорошо.
При переходе в консоли: строка a="&"+a.substring(a.indexOf("?")+1); "некорректно". Почему некорректно - не знаю. При обновлении страницы - все корректно, такого сообщения нет.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38478032
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставьте точку останова в этой строке и гляньте под дебагом
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38478055
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да тут вообще все интересно... Захожу на page1. Смотрю в отладчике. Для просмотра доступна страница page1. Захожу оттуда на page2. Для просмтра в отлиадчике доступна все та же page1. Обновляю страницу, и в отладчике для просмотра доступна page2. К тому же, интересный момент: у страницы page2 прописан title. При переходе на page2 с page1, в title отображается вовсе не то, что надо, а вот при обновлении - самое то. Проблема все таки в переходе, вроде бы.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38478063
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалисийЗахожу на page1. Смотрю в отладчике. Для просмотра доступна страница page1. Захожу оттуда на page2. Для просмтра в отлиадчике доступна все та же page1. Обновляю страницу, и в отладчике для просмотра доступна page2я не знаю что это
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38478247
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имею в виду, отладчик в Firefox. Вот там происходит то, о чем я говорил в предыдущем посте.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38478268
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так и я о нем же. я не знаю почему у Вас он так себя ведет. у меня нормально.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38478293
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самому интересно, почему. Мне непонятен переход из списка на след. страницу - он проходит как-то некорректно. Попробовал изменить адрес перехода, на другую страницу, без передачи в URLе данных, и тоже получилась некорректная (очень), страница.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38479533
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решена. Как я и предполагал, проблема в переходе. Добавил в ссылку такое:
Код: javascript
1.
<li><a rel="external" href="sg_cred_acn.htm?num=1"></a></li>


И все заработало.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38479550
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валисий
Код: javascript
1.
rel="external"


Тут
http://htmlbook.ru/html/a/rel
даже такого значения (external) нет... Что оно означает?
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38479623
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я это нашел не в htmlbook. И не уверен, что там это существует. Нашел это в документации по jQuery. Вот малопонятная русская документация по этому вопросу: http://www.seditio.by/blog/jquery/rel_external.html
Есть еще английская, где-то на http://jquerymobile.com, скорее всего. И еще я давненько натыкался на www.ibm.com на описание этой штуки, но ссылку не дам, т.к. это было давно и ссылку я не запоминал.
...
Рейтинг: 0 / 0
jQuery list ссылки
    #38479808
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалисийИ не уверен, что там это существует. Нашел это в документации по jQuery. Вот малопонятная русская документация по этому вопросу: http://www.seditio.by/blog/jquery/rel_external.html
Его кагбе вообще не существует...
По ссылке
авторИтак, "искусственный" атрибут
Код: javascript
1.
rel="external"
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery list ссылки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]