2013-07-08 3 views
0

У меня есть всплывающее окно Jquerymobile (на веб-сайте asp.net), и в нем у меня есть простая кнопка textarea и submit. После события отправки кнопки я хочу делать определенные вещи. Проверка на textarea, если пустой, показывает литерал с сообщением об ошибке. В случае успеха покажите сообщение благодарности вместе с кнопкой закрытия. Все это нужно делать, пока всплывающее окно открыто (после отправки).Всплывающее окно JqueryMobile после обратной передачи

Проблема заключается в том, что после отправки DOM обновляется и всплывающее окно закрывается.

<div class="feedback-text"> 
     <a href="#feedback" data-rel="popup">Feedback</a> 
     </div> 
     <div data-role="popup" id="feedback" data-overlay-theme="a" data-position-to="window"> 
      <a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a> 
     <div class="feedback-field-wrapper">       
      <asp:TextBox ID="txtFeedback" runat="server" Text="*feedback" cssclass="form-first-name" TextMode="MultiLine" Rows="3"></asp:TextBox> 
     </div> 
     <center> 
     <div class="errormsg-feedback"><asp:literal ID="ltError" runat="server" Text="test" Visible="false"></asp:literal></div>   
      <asp:Button ID="btnFeedback" runat="server" Text="Submit" data-ajax="false" 
       data-icon="arrow-r" style="width:150px;" data-inline="true" /></center>     
</div> 

Вы бы предложили, если есть способ сохранить всплывающее окно открытым после отправки.

Спасибо.

+0

может у показать код пожалуйста? и вы можете сделать это только с помощью 'localStorage'. Другого пути нет – krishgopinath

+0

спасибо за проявленный интерес, я просто добавил код. – SSiddiqui

ответ

0

К сожалению, вы не можете сделать это нормально, иначе вы используете API localStorage. Это похоже на систему кеша, которая существует в браузере. От DiveIntoHTML5

И что такое хранение HTML5? Проще говоря, это способ для веб-страниц хранить локальные пары «ключ/значение» локально в клиентском веб-браузере. Подобно файлам cookie, эти данные сохраняются даже после перехода от веб-сайта, закрытия вкладки браузера, выхода из браузера или того, что у вас есть.

Вы можете установить значение в localStorage в случае представить #btnFeedback, то при обновлении страницы, проверьте, что значение существует при обновлении страницы и открыть его.

Для установки значения:

localStorage["isOpen"] = "1"; 

Чтобы проверить, если его null или нет:

var isOpen = localStorage["isOpen"]; 
if ([null, undefined].indexOf(isOpen) == -1) { 
     //data exists 
} 

Демо: http://jsfiddle.net/hungerpain/ZJvjJ/

Альтернативным, лучший метод должен был бы использовать Ajax представить ваша форма. Таким образом, страница не обновится и даст пользователю приятный опыт.

Вот вопрос, который поможет вам, что: jQuery AJAX submit form

+0

Спасибо hungerpain, Я бы пошел с ajax способом. – SSiddiqui

Смежные вопросы