我正在使用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中给出错误。
请建议!
答案 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的文本值