[RESOLU] erreur objet attendu sous IE

Petit nouveau ! | 2 Messages

11 déc. 2012, 12:38

Bonjour,

cela fait 4 jours que je cherche d'où vient l'erreur, et aujourd'hui je m'en remet à vous après avoir parcouru des fois jusqu'à la 20eme page google !!!

Voilà sous IE j'ai une erreur de script me disant :
Erreur : objet attendu
Ligne 1
Caractère 1

impossible de trouver d'où cela vient, le script incriminé est celui-ci :

[javascript]$(function(){
$("a.vote_up").click(function(){
//get the id
the_id = $(this).attr('id');

// show the spinner
$(this).parent().html("<img src='images/spinner.gif' />");

//fadeout the vote-count
$("span#votes_count"+the_id).fadeOut("fast");

//the main ajax request
$.ajax({
type: "POST",
data: "action=vote_up&id="+$(this).attr("id"),
url: "votes.php",
success: function(msg)
{
$("span#votes_count"+the_id).html(msg);
//fadein the vote count
$("span#votes_count"+the_id).fadeIn();
//remove the spinner
$("span#vote_buttons"+the_id).remove();
}
});
});
});[/javascript]

Voilà, ce que je trouve étonnant c'est que je n'ai pas d'erreur sous les autres navigateurs !

Pouvez-vous m'aider svp :oops:

merci d'avance,

Amicalement,
Stone66
Modifié en dernier par stone66 le 11 déc. 2012, 12:58, modifié 1 fois.

Petit nouveau ! | 2 Messages

11 déc. 2012, 12:57

Bon ben en fait j'ai trouvé :

je chargeais : src="https://ajax.googleapis.com/ajax/libs/j ... ery.min.js"

en chargeant : src="https://ajax.googleapis.com/ajax/libs/j ... ery.min.js" ça fonctionne !!

c'est dingue quand même :oops:

ViPHP
ViPHP | 1996 Messages

11 déc. 2012, 20:48

Bonjour,

Je trouve cela étrange que tu ne puisses pas utiliser une des dernières versions. Si je peux me permettre (car un ami a déjà eu le problème), télécharge jquery en suivant ce lien : http://code.jquery.com/jquery-1.8.3.min.js et mets le dans la racine du site . Je veux dire par là qu'il est déjà arrivé que google change le lien sans le dire à personne et ton appli se trouve alors inutilisable jusqu'à ce que tu t'en aperçoive... (c'est ce qui est arrivé à un ami)

Deuxième point : je trouve ta fonction bizarrement codée. Je ne suis pas un spécialiste Jquery (quoique...) mais cette notation avec $(fonction) avant me fait penser à la création d'une fonction personnelle mais la suite du code n'explique pas que tu créé une fonction personnelle. De plus tu ne déclare pas ta variable the_id avec le mot clef "var", est-elle définie avant ?
Sinon, dans ton cas, j'utiliserai plus simplement la fonction "on" (disponible avec la version 1.8.3) :

[javascript]$(document.body).on({
click : function(){
//get the id
var the_id = $(this).attr('id');

// show the spinner
$(this).parent().html("<img src='images/spinner.gif' />");

//fadeout the vote-count
$("span#votes_count"+the_id).fadeOut("fast");

//the main ajax request
$.ajax({
type: "POST",
data: "action=vote_up&id="+$(this).attr("id"),
url: "votes.php",
success: function(msg)
{
$("span#votes_count"+the_id).html(msg).fadeIn().remove();
}
});
}
},"a.vote_up");[/javascript]

Tu verras aussi que j'ai simplifié les lignes :
[javascript]$("span#votes_count"+the_id).html(msg);
//fadein the vote count
$("span#votes_count"+the_id).fadeIn();
//remove the spinner
$("span#vote_buttons"+the_id).remove();[/javascript]
en
[javascript]$("span#votes_count"+the_id).html(msg).fadeIn().remove();[/javascript]

ce qui reviens à la même chose.

Enfin, je vois que tu clique sur la balise "a" qui est un lien amis tu n'utilises pas preventDefault(); pour annuler l'ouverture de ce lien est-ce normal ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr