2013-03-21 92 views
0

我正在使用bassistance jquery.validation,它適用於ff和chrome,但不適用於移動設備和IE。網站上的例子工作正常,但在我的項目中只有ff和chrome。我使用紅寶石和鐵軌。使用setupjquery.validation無法在IE和智能手機上使用

(function() { 
// use custom tooltip; disable animations for now to work around lack of refresh method on tooltip 
$("#madlibs_form").tooltip({ 
    show: false, 
    hide: false 
}); 


// validate signup form on keyup and submit 
$("#madlibs_form").validate({ 
    rules: { 
     industry: { 
      required:"required"; 
     }, 
     amount: { 
      required:"required"; 
     } 


    }, 
    messages: { 
     desired_amount: { 
      required:{"Please enter loan amount"} 

    } 
}); 

$("#madlibs_form input:not(:submit)").addClass("ui-widget-content"); 
$(":submit").button(); 
})(); 
+0

考慮使用Javascript錯誤控制檯來擺脫語法錯誤在問之前。 – millimoose 2013-03-21 16:31:37

回答

2

我不理解your code作品在任何瀏覽器在所有...

required:"required"; 
  • 如何設置required規則"required"違反規則,它的忽略。
  • 使用分號可以防止插件工作。

應該是這樣......

required: true 

此外,檢查你如何放置在你的自定義消息支撐。

DEMO:http://jsfiddle.net/Lks8E/


或者,你可以不喜歡這樣。請注意,在這種情況下我們如何使用字段名稱,並用逗號分隔。

industry: "required", 
amount: "required" 

DEMO 2:基於OP的評論http://jsfiddle.net/Lks8E/1/


編輯:

這是我的HTML的外觀<input type="text" name="desired_amount" class="madlibs_enter_amount" placeholder="enter a amount" required > 我要補充required="true"這裏?

這解釋了爲什麼你的代碼在某些瀏覽器中工作。由於您在input元素內有required,因此HTML 5驗證會接管插件失敗的位置。

不,你還有一個requiredattribute在那裏,你爲什麼還要添加另一個... required="true"?雖然,最好用適當的HTML 5語法required="required"替換它。請參閱:https://stackoverflow.com/a/3012975/594235

既然你已經有了requiredattribute在HTML中,你不需要內.validate()冗餘宣佈任何的那些required規則。

$('#madlibs_form').validate(); 

仔細檢查這個jsFiddle ...

http://jsfiddle.net/PFF4v/

+0

這就是我的html樣式我應該在這裏添加required =「true」嗎? – ifelse 2013-03-21 16:57:28

+0

@ifelse,請參閱我的編輯,也可能建議您花一點時間仔細檢查我的三個jsFiddle演示中的每個代碼。 – Sparky 2013-03-21 17:08:38

+0

好吧我會如何添加自定義錯誤彈出窗口?你知道是否有一個jsfiddle例子嗎?我正在使用http://jquery.bassistance.de/validate/demo/themerollered.html – ifelse 2013-03-21 17:18:01

0

修復問題JQuery驗證+的jQuery(1.4.4)不工作的IE 7:

不要使用:

$('#form').validate({ 
rules : { 
    name : "required" 
} 
}); 

使用:

$('#form').validate({ 
rules : { 
    name : { 
    required : true 
    } 
} 
});