Поддержка JQuery JQModal AJAX - PullRequest
0 голосов
/ 02 мая 2011

Я использую модал на сайте, и у меня возникают проблемы с достижением чего-то: модал, который я использую, это jqModal, найденный здесь: http://dev.iceburg.net/jquery/jqModal/

У меня нет проблем с инициализацией одного модала.

<script type="text/javascript">$().ready(function() {
$('#cartdialog').jqm({ajax:'@href',trigger: 'a.jqModalcart'});
});</script>


<a class="jqModalcart" href="/ash/shop/cart2.php"><img src="/ash/images/viewcart.gif" 
alt="viewcart"/></a>

Это загрузит мой основной модал, который отображает содержимое cart2.php.

Вот проблема, и я знаю, что может быть несколько решений.На cart2.php есть кнопка, которую я хочу, чтобы пользователь нажимал, чтобы модал загружал новый контент с другой страницы (shipping.php).Предпочтительно, чтобы он заменял cart2.php на shipping.php, без необходимости открывать и закрывать модалы или вложенные модалы, которые перекрывают текущий.

Еще больше усложняет дело, необходимо загрузить shipping.phpс почтовым индексом, для которого я написал простой валидатор JavaScript.Ссылка, которую необходимо передать, выглядит следующим образом:

href=("/ash/shop/shipping.php?zip=" + document.form9.zip.value)

Я знаю, что могу получить эту ссылку в модальном режиме, инициализируя ее следующим образом:

<script type="text/javascript">$().ready(function() {
$('#idhere').jqm({ajax:'@href',trigger: 'a.classhere'});
});</script>

Однако я не могупохоже, что "запускает" модальное из модального.

Так что у меня много вопросов: 1) Могу ли я оставить один модальный и изменить то, что внутри него загружается через AJAX (в основном, переходить на и из страниц в пределах одногомодальное окно)ИДЕАЛЬНОЕ РЕШЕНИЕ !!!!2) Если нет ... как я могу создать вложенный модал, который будет отображаться поверх основного модала и загрузить ссылку выше, которая требует информацию из моего валидатора почтового индекса (я могу дать ajax: 'linkhere'), но моя ссылка имеетэта часть добавлена ​​в конец валидатора "+ document.form9.zip.value" 3) Если это невозможно ... как я могу сделать так, чтобы кнопка на главном модале ПЕРВАЯ закрыла главный модал, ТО загрузила вторичный модалс новым контентом, содержащим ссылку + почтовый индекс

Я постарался предоставить это наиболее ясным способом, чтобы вывести его из головы.Я буду рад ответить на любые вопросы по этому поводу, так как я полностью понимаю, что, возможно, я не совсем понял

Подробнее ... Я попытался .load () безуспешно, но, скорее всего, потому что у меня естьочень мало навыков в этой области.Вот мой скрипт почтового индекса.У меня так, что после ввода 5 символов ссылка меняется так, что пользователь сначала видит «введите почтовый индекс», а затем видит «рассчитать доставку» и также меняется href.

<script language="javascript">

function movepic(img_name,img_src) {
document[img_name].src=img_src;
}
</script>

<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length == limitNum) {
    limitField.value = limitField.value.substring(0, limitNum);

    //switch image out
    javascript:movepic('button','/ash/images/calculateshipping.gif');

    //change image link
    document.getElementById("tester").href=("/ash/shop/shipping.php?zip=" + document.form9.zip.value);
    document.getElementById("tester").onclick=function(){$('#cartdialog').load("/ash/shop/shipping.php?zip=" + document.form9.zip.value);};

} else {
    limitCount.value = limitNum - limitField.value.length;
}
}
</script>

Мой HTMLимеет форму ...

<form id="form9" name="form9" method="post" action="">
<a id="tester" name="tester" class="jqModalship" href="#" style="margin-right:4px;"><img name="button" src="/ash/images/enterzipcode.gif" alt="Image"></a>
<input name="zip" type="text" size="5" onKeyDown="limitText(this.form.zip,this.form.countdown,5);" 
onKeyUp="limitText(this.form.zip,this.form.countdown,5);" maxlength="5">
</form>

Почему я не могу загрузить новую страницу в модальное меню, используя вышеуказанное?

1 Ответ

1 голос
/ 02 мая 2011

Чтобы изменить содержимое модала, вы можете использовать .load () для обновления div модала.

В качестве альтернативы вы можете использовать возможности iframe (см. # 7 в http://dev.iceburg.net/jquery/jqModal/). Этопозволит "навигацию внутри модала", о котором вы говорилиDOM после инициализации ... как .live ())

Третий вариант - это вариант "взломай и молись". Он будет работать, но ты не хочешь использовать этот.

...