IE Error, Object doesn't support this property or method
function charCount(){
$.doTimeout('poll', 150, function(){
messageVal = $('#messageLabel textarea').val();
messageLength = messageVal.length; //IE BREAKS HERE
$('#messageLength').html(messag开发者_StackOverfloweLength + '/140')
if(messageLength > 140){
$('#messageLength').not('.inv').addClass('inv')
}else{
$('#messageLength.inv').removeClass('inv')
}
return false;
})
}
$('#messageLabel textarea').change(charCount).keyup(charCount);
Gives the following error in Internet Explorer 7.0 (and maybe other versions too).
Object doesn't support this property or method.
Any ideas on what is causing this error?
When you don't use the var
keyword, IE browser search for messageLength
in the global context and it finds it... you have element with that ID.
Trying to assign number to HTML element fails.
To solve this, just declare messageLength
as local variable:
var messageLength = messageVal.length; //IE WON'T BREAK HERE
Try yo replace :
messageVal = $('#messageLabel textarea').val();
with
messageVal = $('#messageLabel textarea').text();
Hope it helps.
I think the .change() is having some problem in IE.Please remove it and see if it is working.
Also try using .html() instead of .val().
look here simple test. textarea does not support value property. you can get it via text property
I had a similar error, however, it was because I added the JQuery library to the master page and there was a duplicate library declaration elsewhere the same page.
精彩评论