jQueryValidateでjQueryMobileを使用しています。すべてのページが完了すると、ajaxシリアル化で投稿する複数のフォームがあります。
下の[次へ]ボタンは、ネイティブブラウザからアクセスした場合にiOSとAndroidで機能します。PhoneGapをパッケージ化してAndroidで実行すると、検証が実行されません。他のすべては正常に動作します。
valid()条件を削除すると、ボタンは期待どおりに機能します。したがって、jQueryValidateの使用方法に問題があるはずです。
いろいろな順番で並べてみました。私はもう試した:
if (!$("#infofm").valid()) {
と
if($("#infofm").valid()) {
常に同じ結果-ネイティブブラウザで機能しますが、PhoneGapの後では機能しません。私はこれに長い間苦労してきました。関連するコードは次のとおりです。どんな助けでも大歓迎です。ありがとう!
$(function(){
$('a#nxt1').bind('click', function(event, ui) {
infoval();
});
function infoval(){
var isvalidate=$("#infofm").valid();
if(isvalidate) {
$.mobile.changePage('#towertop', {transition: 'slidefade'});
} else {
alert("Please fill in all fields on this page before proceding");
}
};
$(document).ready( function(){
$("#infofm").validate({ errorPlacement: function(error, element) {} }); });
と
<a href="" id="nxt1" data-iconpos="bottom" data-theme="a" data-icon="arrow-r">Next Step</a>