#jquery #windows-phone-7 #jquery-mobile
#jquery #windows-phone-7 #jquery-мобильный
Вопрос:
Работал над проектом jquerymobile и столкнулся с проблемой в WP7 (и IE7).
Сначала у меня было все содержимое на одной большой странице, но затем WP7 не загрузил ни одной страницы, поэтому мне пришлось разделить страницы на разные htm-файлы.
Итак, вот что у меня есть. У меня есть страница, которая должна принимать значения из некоторых s, запускать функцию, а затем переходить на следующую страницу и отображать результат.
Все это, кстати, есть на третьей странице
изначально у меня был
<a id="calculate_square" href="results.html">Calculate volume</a>
Но я не смог заставить его использовать функцию, потому что она сразу направляет на results.html
итак, вместо этого у меня есть
<a id="calculate_square" href="#">Calculate volume</a>
и следующий js-код:
$('#three').live('pagebeforeshow',function(event, ui){
$('#calculate_square').click(function() {
var height = $('#height').val();
var width = $('#width').val();
var depth = $('#depth').val();
if(height == 0 || width == 0 || depth == 0){
alert("something is blank");
}
else {
calculateSquare();
$.mobile.changePage("results.html");
}
});
});
Который отлично работает везде, кроме WP7 / IE7, который, если входные данные пусты, возвращает предупреждение, но, похоже, не обрабатывает $.mobile.changePage(«results.html «);
Я использую последнюю версию 1.0a4.1.
Итак, я иду по этому неправильному пути? Любая помощь была бы отличной. Не могу поверить, что это должно работать на WP7 : (
Ответ №1:
Прежде всего, я бы изменил ссылку на кнопку, поскольку jQM, возможно, все еще пытается использовать ее в качестве навигации.
Это:
<a id="calculate_square" href="#">Calculate volume</a>
Для:
<input type="button" value="Calculate volume" id="calculate_square" />
Что касается вашей страницы изменений (), в ней есть больше опций, необходимых для отправки данных, перехода, отслеживания и т.д… Вот документы:http://jquerymobile.com/demos/1.0a4.1/docs/api/methods.html
например, я использовал changePage() вот так:
$.mobile.changePage({
url: 'request.php?page=foo',
type: 'post',
data: $('form#myForm').serialize()
},'slide',false,false);
Это также обрабатывает отправку POST и навигацию.
Как у вас с wp7, есть ли у него консоль отладки для отображения ошибок?
Комментарии:
1. Спасибо, что изменение разметки для использования <input> фактически останавливает загрузку страницы в IE7! Это так расстраивает. Итак, моя кнопка находится на странице 2. При выборе ссылки на странице 1 я просто получаю индикатор загрузки. Должно быть, я делаю что-то не так. Если я придерживаюсь <a>, в WP7 я получаю ошибку при попытке использовать метод changePage — «Исключение, созданное и не пойманное»
2. Я разместил сообщение на форуме jquerymobile, но там нет ответов forum.jquery.com/topic/changepage-wp7-bug