我有一个Javascript函数检查输入数据并序列化它们,问题是.valid不适用于IE8但适用于IE9和10
function sendData()
{
var inputData=$("#DataContainer").find(":input");
if(validate&& !inputData.valid()) return;
//some other codes
}
在IE9和10中,inputData.valid()为0,即为false,但对于IE8,它为1即为真,我想知道为什么这个行为对于同一组数据?结果是附加到函数的操作不起作用。
由于
答案 0 :(得分:1)
试试这个
var inputData=$("#DataContainer").find("input");
答案 1 :(得分: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();
}