Bug en jQuery

Résolu/Fermé
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 1 juin 2017 à 22:19
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 1 juin 2017 à 23:17
Bonjour à tous,

Je bloque sur une erreur dans mon code que je ne comprends absolument pas.
J'ai un <input id='edit_obj'/> dont je veux récupérer la valeur, mais lorsque je fais
console.log($("#edit_obj").val()), ça ne sort absolument rien

Je sais par ailleurs que $("#edit_obj") vaut undefined parce que je m'en sers à différents endroits.
Ce qui me rend dingue c'est que ça a très bien fonctionné toute la journée, mais plus maintenant et il n'y a pas moyen de trouver ce qui déconne...
Quelqu'un a une idée d'où ça peut venir ?

Voilà mon code html :
<div id="ass_obj"><h2 id="obj">Mon objectif :<input id="edit_obj"><i class="fa fa-refresh" onclick="editobjectif('', 2, 840)"></i></h2></div>

sachant que ce code a été généré en jQuery, c'est un popup.

et le jQuery qui a généré ce code :

$.ajax(
{
data: {idpack: idpack },
type: "POST",
dataType: 'json',
url: "<?php echo HOME; ?>getobj.php", //Relative or absolute path to response.php file
error : function(x,err)
{
alert(err);
},
success: function(data)
{
console.log("result"+data.objectif+" ("+data.idpack+")");
$("#titphrases").append(
"<div id='ass_obj'>"+
"<h2 id='obj'><?php echo ADD_OBJ; ?> : <span class='idpack' id='"+data.idpack+"'>"+data.objectif+
"</span><i class='fa fa-pencil ok' onclick='editobjectif(\""+data.objectif+"\", 1, "+data.idpack+");' aria-hidden='true'></i></h2>"+
"</div>");
if (data.objectif=='')
{ console.log("wide");
$("h2").html("<?php echo ADD_OBJ; ?> :"+
"<input id='edit_obj'><i class='fa fa-refresh' onclick='editobjectif(\"\", 2, "+data.idpack+")'>");
$("#ass_obj").addClass("wide");
}
else { console.log ("nowide");}
}


Merci d'avance pour votre aide !! :-)

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
1 juin 2017 à 22:26
Bonjour,

J'ai un <input id='edit_obj'/> dont je veux récupérer la valeur,

Et... où se trouve le code qui te sert à récupérer cette valeur ?
A quel moment est-il appelé ?

N'as tu pas d'autres erreurs JS dans la console ?

Ne pourrais tu pas nous montrer l'intégralité du code (les quelques morceaux que tu nous montres ne nous suffiront pas à trouver l'erreur).

Il faudrait aussi nous montrer le code généré ( celui que tu peux récupérer DANS TON NAVIGATEUR une fois la page affichée )


Au passage, je t'invite à lire ceci pour la présentation de ton code :
https://www.drupal.org/docs/develop/standards/javascript/javascript-coding-standards#structures


0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
1 juin 2017 à 23:17
Bon, ben j'ai résolu mon problème toute seule finalement. Je ne suis pas sûre de très bien comprendre pourquoi ça ne fonctionnait pas mais c'est ça qui bloquait:

$("h2").html("<?php echo ADD_OBJ; ?> :"+
"<input id='edit_obj'><i class='fa fa-refresh' onclick='editobjectif(\"\", 2, "+data.idpack+")'>");


Je l'ai remplacé par

$("#ass_obj").html("<h2><?php echo ADD_OBJ; ?> :"+
"<input id='edit_obj'><i class='fa fa-refresh' onclick='editobjectif(\"\", 2, "+data.idpack+")'></h2>");


et ça fonctionne de nouveau parfaitement !

Merci quand même ! ;-)
0