在jquery中使用.Val()时出错

Man*_*ngh 3 jquery

我正在使用JQuery,我已经获得了JQuery Code示例.

JQuery代码:

 $.ajax({  
        type: "POST",
        url: "Login.aspx",  // Send the login info to this page
        data: str,  
        success: function(result)
        {  
             // Show 'Submit' Button
            $('#loginButton').show();

            // Hide Gif Spinning Rotator
            $('#ajaxloading').hide();  

            var resLength = (result).val().trim().length;
            alert(resLength);
            if(resLength!=0)
            {

                var arr = result.split(",");
                var fname = arr[0];
                var lname = arr[1];
                var activeCardNo = arr[2];
                var multipleTier = arr[3];
                var activeStatus = arr[4];
                var access = arr[5];
            }
        }
    }); 
Run Code Online (Sandbox Code Playgroud)

在上面的代码示例中,当我尝试在下面的行中使用.val()

var resLength = (result).val().trim().length;
Run Code Online (Sandbox Code Playgroud)

它给出错误"result.val不是函数",如果我只使用result.trim().长度它在firefox中工作正常,但在IE中给出错误.

请指教!

Kob*_*obi 6

试试这个:

var resLength = $.trim(result).length;
Run Code Online (Sandbox Code Playgroud)

如果result是字符串,则它没有val函数.trim跨浏览器不支持,因此您应该使用jQuery.trim.

另一种选择是直接检查值.空字符串在JavaScript中具有false值,因此您可以检查:

result = $.trim(result);
if(result)
{
    // split, ...
}
Run Code Online (Sandbox Code Playgroud)

如果result要作为一个元素,你应该将它包装在一个jQuery对象中:

var resLength = $.trim($(result).val()).length;
Run Code Online (Sandbox Code Playgroud)