有效,不适用于IE8

Valid not working for IE8

本文关键字:IE8 适用于 不适用 有效      更新时间:2023-09-26

我有一个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,即true,我想知道为什么同一组数据会出现这种行为?结果是附加到函数的操作不起作用。

感谢

试试这个

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

@Jack:我认为您在IE8模拟器中使用了valid()方法(不是真正的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();
}