在jquery中使用.Val()时出错
我正在使用JQuery,下面是JQuery代码示例 JQuery代码:在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
$.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..谢谢你回答得非常详细。