2013-07-08 4 views
1

Я новичок во всем пространстве jQuery Mobile и HTML5 (так что несите меня), и я проверяю формы в первый раз. Теперь я действительно хотел бы, чтобы утвердить формы с помощью HTML 5, где следующие выскакивает:jQuery Мобильная форма Validation и html 5

enter image description here

Теперь я решил дать этому Баш и имеют следующий код:

<form> 
    <input required type="text" name="searchtitle" id="searchtitle" placeholder="Enter the textbook's title"> 
    <input type="submit" id ="searchsubmit" name="searchsubmit" value="Search"> 
</form> 

Теперь у меня есть следующий код, когда кнопка «Поиск» выше щелкнул:

$(document).on('pageinit',"#searchpage", 
function() 
{ 
    $("#searchsubmit").click(
    function(e) 
    { 
    //Do a lot of processing here 
    window.location.href ="#results"; 
    } 
}); 

Теперь я знаю, почему обратите внимание, когда я нажимаю событие кнопка Поиск клик запустить и не остановить из-за проверки формы, и если я полностью ошибаюсь, может кто-то указать мне правильное направление, которое научит меня, как делать проверку формы с помощью HTML5.

ответ

0

Причина, по которой она не остановлена, заключается в том, что input type="submit" будет отправляться по умолчанию, так что это перезагрузка страницы. Вам нужно добавить следующую строку кода:

$(document).on('pageinit',"#searchpage", 
function() 
{ 
    $("#searchsubmit").click(
    function(e) 
    { 
    e.preventDefault(); // add this line to prevent the form from submitting regardless. 
    //Do a lot of processing here 
    window.location.href ="#results"; 
    } 
}); 
+0

просто добавил линию e.preventdefault() и по-прежнему получать ту же самую проблему – user481610

+0

я могу спросить вас, почему вы перенаправление: #results? – JanR

+0

С помощью функции #searchsubmit я делаю много динамического добавления элементов на странице результатов и, следовательно, перенаправления – user481610

3

Эти «всплывающие окна» HTML5 вы упомянули реализуются самих браузеров.

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

Я бы использовал что-то вроде jQuery Validate для обработки проверки формы на данный момент, если бы я был вами.

http://jqueryvalidation.org

+0

Ну, я делаю мобильное приложение jQuery для телефонного разговора, так что будут ли там появляться баннеры, упомянутые в моем вопросе? Также есть ли другой способ проверки формы, кроме ссылки, которую вы указали? Я действительно хочу, чтобы это было как баннеры в моем вопросе, любые другие предложения? – user481610

+0

@ user1638809 - появятся ли сообщения об ошибках с помощью jQuery Validate? Да, но по умолчанию у них будет свой собственный стиль. Вы могли бы стилизовать его так же, как и html5, но это будет зависеть от CSS. Существует множество способов проверки html-форм. jQuery Validate - популярная библиотека проверки Javascript, которая является хорошим выбором для большого количества проектов. Если это не сработает для вас (он должен), попробуйте найти некоторые другие файлы проверки Javascript. Я просто говорю, что, вероятно, лучше пойти по этому пути, чем использовать слабо поддерживаемую проверку браузера html5 – asgeo1

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