Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery list ссылки / 20 сообщений из 20, страница 1 из 1
25.11.2013, 19:45
    #38477255
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Всем добрый день!
Возникла проблема. Есть страница 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
25.11.2013, 19:54
    #38477262
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Валисийна странице page2.htm есть форма с несколькими текстовыми полями. Нужно, чтобы значения в текстовые поля при загрузке страницы брались из json-файла.
Сделал функцию $(document).ready, где все и делаюможет, лучше это делать на сервере?
...
Рейтинг: 0 / 0
26.11.2013, 11:14
    #38477825
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
А как это сделать на сервере?
...
Рейтинг: 0 / 0
26.11.2013, 11:24
    #38477843
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
...
Рейтинг: 0 / 0
26.11.2013, 11:47
    #38477888
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
А если нужно не на сервере, а на клиенте? Просто интересно, почему не работает так, как надо. Если перейти на page2 по ссылке из list на page1, то ничего не получается, а если просто обносить - все работает.
...
Рейтинг: 0 / 0
26.11.2013, 11:53
    #38477900
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
ВалисийА если нужно не на сервере, а на клиенте?то желательно показать код который не работает
...
Рейтинг: 0 / 0
26.11.2013, 11:55
    #38477905
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Валисий
Код: 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
26.11.2013, 12:03
    #38477922
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Так в том-то и дело, что вроде все работает, вот только некорректно.
Код страницы 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
26.11.2013, 12:13
    #38477945
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Валисийпочему-то не срабатывает функция document.ready. Я это проверил как раз добавлением alert1) alert не в начале функции, поэтому проверка неправильная
2) откройте для себя firebug (или что там у вашего браузера по F12 открывается).
Помогает и отлаживать, и ответ сервера на асинхронный запрос глянуть
3) если уж jQuery, то http://api.jquery.com/jQuery.get/ оно и кроссбраузерно и букаф меньше :)
...
Рейтинг: 0 / 0
26.11.2013, 12:41
    #38477990
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Поставил alert в начало функции. Аналогично - при переходе ничего не работает, при обновлении-все хорошо.
При переходе в консоли: строка a="&"+a.substring(a.indexOf("?")+1); "некорректно". Почему некорректно - не знаю. При обновлении страницы - все корректно, такого сообщения нет.
...
Рейтинг: 0 / 0
26.11.2013, 12:54
    #38478032
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
поставьте точку останова в этой строке и гляньте под дебагом
...
Рейтинг: 0 / 0
26.11.2013, 13:04
    #38478055
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Да тут вообще все интересно... Захожу на page1. Смотрю в отладчике. Для просмотра доступна страница page1. Захожу оттуда на page2. Для просмтра в отлиадчике доступна все та же page1. Обновляю страницу, и в отладчике для просмотра доступна page2. К тому же, интересный момент: у страницы page2 прописан title. При переходе на page2 с page1, в title отображается вовсе не то, что надо, а вот при обновлении - самое то. Проблема все таки в переходе, вроде бы.
...
Рейтинг: 0 / 0
26.11.2013, 13:07
    #38478063
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
ВалисийЗахожу на page1. Смотрю в отладчике. Для просмотра доступна страница page1. Захожу оттуда на page2. Для просмтра в отлиадчике доступна все та же page1. Обновляю страницу, и в отладчике для просмотра доступна page2я не знаю что это
...
Рейтинг: 0 / 0
26.11.2013, 14:20
    #38478247
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Я имею в виду, отладчик в Firefox. Вот там происходит то, о чем я говорил в предыдущем посте.
...
Рейтинг: 0 / 0
26.11.2013, 14:26
    #38478268
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
так и я о нем же. я не знаю почему у Вас он так себя ведет. у меня нормально.
...
Рейтинг: 0 / 0
26.11.2013, 14:37
    #38478293
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Самому интересно, почему. Мне непонятен переход из списка на след. страницу - он проходит как-то некорректно. Попробовал изменить адрес перехода, на другую страницу, без передачи в URLе данных, и тоже получилась некорректная (очень), страница.
...
Рейтинг: 0 / 0
27.11.2013, 11:51
    #38479533
Валисий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery list ссылки
Проблема решена. Как я и предполагал, проблема в переходе. Добавил в ссылку такое:
Код: javascript
1.
<li><a rel="external" href="sg_cred_acn.htm?num=1"></a></li>


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


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


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