Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中使用.Val()时出错_Jquery - Fatal编程技术网

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

在jquery中使用.Val()时出错,jquery,Jquery,我正在使用JQuery,下面是JQuery代码示例 JQuery代码: $.ajax({ type: "POST", url: "Login.aspx", // Send the login info to this page data: str, success: function(result) { // Show 'Submit' Button

我正在使用JQuery,下面是JQuery代码示例

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.trim().length它在firefox中工作正常,但在IE中却会出现错误


请建议

正确的语法是
result.trim().length
,IE不支持
trim()
(请参阅),因此它会抱怨

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

代码应为:-

var resLength = result.val().trim().length;
alert(resLength);
写入“
(result)
”而不是“
result
”会产生错误。这是因为这里的变量是“
结果”
”本身

希望有帮助。

试试这个:

var resLength = $.trim(result).length;
如果
result
是字符串,则它没有
val
函数<跨浏览器不支持代码>修剪,因此应改用

另一个选项是直接检查值。空字符串在JavaScript中有一个假值,因此您可以检查:

result = $.trim(result);
if(result)
{
    // split, ...
}
如果
result
是一个元素,则应将其包装在jQuery对象中:

var resLength = $.trim($(result).val()).length;
(result.val()这是错误的

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

如果结果是html,请使用

.text(); or .html()

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

,我无法重现这一点,也想不到在一个简单的场景中,围绕一个变量的
()
会有什么不同。顺便说一句,如果你使用JSON而不是逗号分隔的字符串,你的代码会更干净。你能建议我如何使用它吗,我不知道JSONP..谢谢你回答得非常详细。