Problème JS simple !
gaerebut
Messages postés
1060
Statut
Membre
-
PhP Messages postés 1774 Statut Membre -
PhP Messages postés 1774 Statut Membre -
Bonjour,
programmant en Java script depuis plus d'un ans, je n'arrive pas à déceler une erreur toute bête qui, ça se trouve ne saute pas au yeux :s
Voici le code:
Et voici la simple fonction Javascript
Bon j'ai allégé au maximum mais en gros, mon alert() retourne toujours la valeur tu div, donc 'TITRE' mais après changement du texte dans le INPUT!!!!
je ne vois pas ou est le problème !
HELP!!!
A+
Gaerebut
programmant en Java script depuis plus d'un ans, je n'arrive pas à déceler une erreur toute bête qui, ça se trouve ne saute pas au yeux :s
Voici le code:
<div id="phrase">TITRE</div>
<a href="#" onclick="document.getElementById('nom').value = document.getElementById('phrase').innerHTML" >Changer le titre</a>
<input type="text" id="nom" />
<input type="button" onclick="changeName(document.getElementById('nom').value)" />
Et voici la simple fonction Javascript
<script type="text/javascript">
function changeName(valeur){
alert(valeur);
}
</script>
Bon j'ai allégé au maximum mais en gros, mon alert() retourne toujours la valeur tu div, donc 'TITRE' mais après changement du texte dans le INPUT!!!!
je ne vois pas ou est le problème !
HELP!!!
A+
Gaerebut
A voir également:
- Problème JS simple !
- 14 simple - Guide
- Simple pdf - Télécharger - PDF
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Simple comic - Télécharger - Vie quotidienne
6 réponses
Salut,
ben ce que je veux c'est qu'au clique sur le bouton, ça m'affiche un alert tout bête contenant le texte dans le input !
Mais il se trouve que quand clique sur le bouton, le alert me marque bien se texte mais quand je change se texte, le alert affiche toujours l'ancien texte !
Puis pour répondre à vos commentaire, je vais pas appeller une fonction JS qui a juste une ligne de code a savoir : document.getElementById('nom').value = document.getElementById('phrase').innerHTML
Lol
Quelqu'un peut m'aider ???
A+
gaerebut
ben ce que je veux c'est qu'au clique sur le bouton, ça m'affiche un alert tout bête contenant le texte dans le input !
Mais il se trouve que quand clique sur le bouton, le alert me marque bien se texte mais quand je change se texte, le alert affiche toujours l'ancien texte !
Puis pour répondre à vos commentaire, je vais pas appeller une fonction JS qui a juste une ligne de code a savoir : document.getElementById('nom').value = document.getElementById('phrase').innerHTML
Lol
Quelqu'un peut m'aider ???
A+
gaerebut
Bsr
Ouais y'a pas l'air d'avoir spécialement d'erreur dans le code sauf que personnellement je ne mets jamais le code Javascript directement dans les balises HTML : il n'a rien à faire là ;-)
Ouais y'a pas l'air d'avoir spécialement d'erreur dans le code sauf que personnellement je ne mets jamais le code Javascript directement dans les balises HTML : il n'a rien à faire là ;-)
J'ai oublié de préciser que normalement, les champs input + boutton sont cachés et apparaissent au clique sur le lien !
A+
Gaerebut
A+
Gaerebut
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bjr
Puis pour répondre à vos commentaire, je vais pas appeller une fonction JS qui a juste une ligne de code a savoir : document.getElementById('nom').value = document.getElementById('phrase').innerHTML
Bien sûr que SI ! Le CSS a permis de séparer le fond de la forme, ben pour le code JS c'est la même chose il permet de séparer le comportement de l'HTML pur.
voir ici http://www.pompage.net/traduction/separation
Autrement donne le code complet parce que là le phénomène que tu obtiens est bizarre ... ;-)
Puis pour répondre à vos commentaire, je vais pas appeller une fonction JS qui a juste une ligne de code a savoir : document.getElementById('nom').value = document.getElementById('phrase').innerHTML
Bien sûr que SI ! Le CSS a permis de séparer le fond de la forme, ben pour le code JS c'est la même chose il permet de séparer le comportement de l'HTML pur.
voir ici http://www.pompage.net/traduction/separation
Autrement donne le code complet parce que là le phénomène que tu obtiens est bizarre ... ;-)
Salut tout le monde,
je n'est pas donné le code complet car je sais que j'aurai perdu plus de la moitié du monde.
Déjà que je demandais quelque chose d'assez "simpliste", pas grand grand monde s'est interressé à mon problème. D'ailleurs je remercie ceux qui se sont penché dessus ! Et merci à PhP pour ton petit cours sur l'isolation de code JS ;)
Pour revenir au code, j'utilise en vrai la library Mootools 1.2 et la library SqueezeBox 1.1 et aussi un peu la library Roar Notification 1.0.1.
Je précise qu'ils sont tous bien compatible et qu'aucun conflit n'est possible vu que ces 2 dernière library se base sur la première !
Donc en gros, je pensais que c'était peut-être dû à la SqueezeBox et que le "Bug" venait du fait que le principe du value d'un textbox ne change pas quand il est dans un SqueezeBox et reste initiale.
En fait , en cliquant sur le lien je lui passais bien une valeur, mais pas une valeur brute d'un champ mais la valeur d'une variable.
Et donc au clique, cette valeur allait bien dans le champ texte et le bouton alerte renvoyais bien le bon texte mais lorsque je changé le texte, il m'affichait toujours l'ancien texte qui était celui de la variable !
Après modification du code, j'ai adapté ça en plaçant une seconde variable (de sauvegarde) qui fait que ça marche maintenant.
Voici mon code, ça sera plus parlant pour certain (et moins pour d'autre mdr) :
code HTML:
Code JS:
Voila, mon code comme il l'est vraiment. Je n'est pas mis comment la variable planetNameSave obtient sa valeur initiale mais c'est une attribution comme un autre.
Je tiens à préciser que je n'est pas encore adopter ton principe d'isolation de code.
MAIS, je vais le faire ! ^_^'
Voila, donc le problème est a présent résolu pour le meilleur et pour le pire ! lol
Merci de votre aide.
A+
Gaerebut
--
Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1: ne jamais dire tout ce que l'on sait...
-Règle 2: ...
je n'est pas donné le code complet car je sais que j'aurai perdu plus de la moitié du monde.
Déjà que je demandais quelque chose d'assez "simpliste", pas grand grand monde s'est interressé à mon problème. D'ailleurs je remercie ceux qui se sont penché dessus ! Et merci à PhP pour ton petit cours sur l'isolation de code JS ;)
Pour revenir au code, j'utilise en vrai la library Mootools 1.2 et la library SqueezeBox 1.1 et aussi un peu la library Roar Notification 1.0.1.
Je précise qu'ils sont tous bien compatible et qu'aucun conflit n'est possible vu que ces 2 dernière library se base sur la première !
Donc en gros, je pensais que c'était peut-être dû à la SqueezeBox et que le "Bug" venait du fait que le principe du value d'un textbox ne change pas quand il est dans un SqueezeBox et reste initiale.
En fait , en cliquant sur le lien je lui passais bien une valeur, mais pas une valeur brute d'un champ mais la valeur d'une variable.
Et donc au clique, cette valeur allait bien dans le champ texte et le bouton alerte renvoyais bien le bon texte mais lorsque je changé le texte, il m'affichait toujours l'ancien texte qui était celui de la variable !
Après modification du code, j'ai adapté ça en plaçant une seconde variable (de sauvegarde) qui fait que ça marche maintenant.
Voici mon code, ça sera plus parlant pour certain (et moins pour d'autre mdr) :
code HTML:
<div id="planete_name" style="text-align: right; margin-right: 55px;">
<span id="nomPlanete"></span>
<a href="#changeNomPlanete" rel="boxed" onclick="$('newPlaneName').value=planetNameSave">Renommer</a>
</div>
<span style="display:none">
<div id="changeNomPlanete" style="margin-left: 22px;margin-top:20px">
<p>Votre planete: <input type="text" id="newPlaneName" onchange="planetNameSave=this.value" class="input" maxlength="20"/>
<input type="image" src="../img/game/btOk.png" style="position:absolute" onclick="changePlanetName(planetNameSave)"/>
</p>
</div>
</span>
Code JS:
function changePlanetName(valeur){
valeur = valeur.replace(/\s+/g," ");
if(valeur.length<=0)
valeur=planetName;
else if(valeur.length>20){
var roars = new Roar();
roars.alert('<font color=red>Erreur !</font>', 'Le nom de votre planete de doit pas excéder les 20 caractères') // Contre les injections Javascript Basiques
}
else{
new Request({
method:"post",
async: true,
url:"../game/accueil/",
data:{
'session':Cookie.read('session'),
'type':'planetName',
'name':valeur
},
onSuccess:function(response){
alert(response);
}
}).send();
}
}
Voila, mon code comme il l'est vraiment. Je n'est pas mis comment la variable planetNameSave obtient sa valeur initiale mais c'est une attribution comme un autre.
Je tiens à préciser que je n'est pas encore adopter ton principe d'isolation de code.
MAIS, je vais le faire ! ^_^'
Voila, donc le problème est a présent résolu pour le meilleur et pour le pire ! lol
Merci de votre aide.
A+
Gaerebut
--
Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1: ne jamais dire tout ce que l'on sait...
-Règle 2: ...