2013-08-01 87 views
-3

我有檢查輸入數據和序列化他們的Javascript功能,問題是.valid不IE9 IE8的工作,但IE9的工作,10有效不工作的IE8

function sendData() 
{ 
var inputData=$("#DataContainer").find(":input"); 
if(validate&& !inputData.valid()) return; 
//some other codes 
} 

和10 inputData.valid()是0即假,但對於IE8它是1即真,我想知道爲什麼這種行爲爲同一組數據?並且結果是附加到該功能的操作不起作用。

感謝

+1

你應該表現出相關有效()函數的代碼。 – fcalderan

+0

在這裏發佈'valid()'函數 –

+0

@FabrizioCalderan:有效來自Unobstrusive JQuery驗證並驗證表單的內容,具體取決於您在模型上執行的驗證。這是MVC –

回答

0

@Jack:我認爲你正在使用有效()方法與IE8模擬器(不正確的IE8)。在IE8模擬器中,它將所有字段視爲必需字段。 首先,你應該驗證所有輸入字段,然後序列化數據

$("#DataContainer").validate({ 
    onkeyup: function(element) { $(element).valid(); }, // check validation on key up 
    rules: { 
     txt_Topic: "required", 
     txt_Date: "required" 
    }, 
    message: { 
     txt_Topic: "This field is required.", 
     txt_Date: "This field is required." 
    } 
}); 

// if is valid call functions 
if($('form #DataContainer').valid()) { 
    sentData(); 
} 

function sentData() { 
    var inputData = $("#DataContainer").serializeObject(); 
} 
1

試試這個

var inputData=$("#DataContainer").find("input");