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

时间:2010-12-20 05:43:38

标签: 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];
            }
        }
    }); 

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

var resLength = (result).val().trim().length;

它提供错误“result.val不是函数”,如果我只使用 result.trim()。length 它在firefox中工作正常,但是在IE中给出错误。

请建议!

5 个答案:

答案 0 :(得分:6)

试试这个:

var resLength = $.trim(result).length;

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

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

result = $.trim(result);
if(result)
{
    // split, ...
}

如果要将result作为元素,则应将其包装在jQuery对象中:

var resLength = $.trim($(result).val()).length;

答案 1 :(得分:0)

正确的语法为result.trim().length,IE不支持trim()(请参阅.trim() in JavaScript not working in IE),因此会抱怨。

尝试将他链接的问题中的已接受答案代码添加到您的代码中,看看它是否修复了它。

答案 2 :(得分:0)

代码应为: -

var resLength = result.val().trim().length;
alert(resLength);

编写“(result)”而不是“result”会出错。这是因为这里的变量是“result”本身。

希望它有所帮助。

答案 3 :(得分:0)

(result).val();这是错误的

上面的一个用于输入类型的html值

如果结果是html,请使用

.text(); or .html()

答案 4 :(得分:0)

它不是jQuery对象,它只是返回的ajax的文本值