-3

我有一个 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 即假,但对于 IE8 它是 1 即真,我想知道为什么同一组数据会出现这种行为?结果是附加到该功能的操作不起作用。

谢谢

4

2 回答 2

1

试试这个

var inputData=$("#DataContainer").find("input");
于 2013-08-01T11:55:33.037 回答
0

@Jack:我认为您在 IE8 模拟器(不是真正的 IE8)中使用了 valid() 方法。在 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();
}
于 2013-08-01T12:34:25.307 回答