2015-11-14 3 views
-1

У меня очень простой вопрос, но я не могу найти правильный способ решения. У меня есть приложение phonegap, у которого есть логин, и я проверяю результаты с помощью ajax. проверить форму, когда пользователь нажмет:Обрабатывать ссылки с помощью jquery

<a href="home.html" data-transition="pop">GO</a> 

Порядок инструкции являются: 1- Clik пользователя GO. 2- Проверьте входные данные формы. 3- ЕСЛИ they'e исправляет, иди home.html

Я не могу сделать

window.location.replace('index.html'); 

, потому что я потерял данных перехода.

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

Самый лучший способ, когда вы нажимаете «Go», что-то делаете, и если это необходимо, перейдите на его href.

Спасибо за все!

ответ

1
$("a").click(function(e){ 

    // Do what all checks you need to do here 
    if(something is wrong) 
    { 
     // Do stuff here 
     e.preventDefault(); // Stop propagation of default event. 
     return false; 
    } 

}); 

Таким образом data-transition также будет работать, Becaue события по умолчанию будет остановлена ​​только тогда, когда проверка не пройдена.

+0

Я не потерял данные-переход = "поп"? –

+0

Проверьте обновленный ответ. – void

+0

Теперь 'data-transition' не потерян. – void

1

Вы можете реализовать функцию onclick и предотвратить предотвращениеDefault, если условия для перехода к URL-адресу ссылки не выполняются. Посмотрите на этот вопрос:

preventDefault inside onclick attribute of a tag

1

Если вы используете Ajax, то почему бы вам не вернуться «истинное» или «ложное» значения в зависимости от результата проверки, что вы выполняете.

Затем в «функция успеха» Аякса, вы можете проверить, если результат «истинный» или «ложь», и если валидация являются «истинный», вы можете использовать окно. location.href метод javascript.

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