JeuWeb - Crée ton jeu par navigateur
[REGLE] Erreur Javascript ( Ajax ) - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [REGLE] Erreur Javascript ( Ajax ) (/showthread.php?tid=417)

Pages : 1 2


[REGLE] Erreur Javascript ( Ajax ) - OncleJames - 04-03-2007

Bonjour,


Voila un pti problème que j'ai depuis 3 jours, j'ai passé 1 nuit à essayer de trouver, mais le mystère est toujours la :pleure2:

Avec Ajax je souhaite afficher un formulaire :

Code PHP :
<?php 
function cibleinfo($idchan,$idlvl,$idcompa)
{
$reponse = new xajaxResponse();
$cible = '';
... ... ..
$cible .= ' <form id="majcible">...</form>';
$cible .= '1';

$reponse->addAppend("joueurinfo", "innerHTML", $cible);
return
$reponse->getXML();
}

Le formulaire n'apparait pas lors de l'appel de la fonction, donc il m'est impossible de récuperer les valeurs des inputs étant donné que le tag <form id="majcible"> n'est pas généré :non:

Sous FF , s'affiche tout entre les balises de formulaire, mais pas les balises
Sous IE, rien ne s'affiche

Je sais plus quoi faire :rip:

Merci d'avance

OncleJames


RE: Erreur Javascript ( Ajax ) - Raoull - 04-03-2007

Il faudrait que tu balances un peu plus de code, surtout l'appel à ta fonction "cibleinfo()", le problème étant surement la.

Et aussi ce qu'est "joueurinfo", un div (ou autre) je suppose.


RE: Erreur Javascript ( Ajax ) - OncleJames - 04-03-2007

Appel de la fonction :

Html :
Code PHP :
<?php 
<button onclick="xajax_cibleinfo(<?= $_SESSION['idchan']; ?>,<?= $compte['idlvl']; ?>,<?= $compa['idcompa']; ?>); return false;"> -= Changer les info =- </button>

joueurinfo est : <div id="joueurinfo"></div>


RE: Erreur Javascript ( Ajax ) - nemesis_elite - 04-03-2007

Code PHP :
<?= $_SESSION['idchan']; ?>

C'est pas plutot ?

Code PHP :
<? echo $_SESSION['idchan']; ?>



RE: Erreur Javascript ( Ajax ) - Raoull - 04-03-2007

Voir même :
Code PHP :
<?php echo $_SESSION['idchan']; ?>
Wink

Suffit que tu regardes la source de ta page html, et que tu regarde le code de ton bouton. Tu verras bien si tu as le résultat attendu.


RE: Erreur Javascript ( Ajax ) - OncleJames - 04-03-2007

Les trois paramètres sont bien passés :heuuu:

Html :
Code PHP :
<?php 
<button onclick="xajax_cibleinfo(8,51,22); return false;"> -= Changer les info =- </button>



RE: Erreur Javascript ( Ajax ) - Raoull - 05-03-2007

Je dis p-e une connerie, mais me semble que la balise BUTTON soit pas vraiment recommandée (propriété IE non ?).
au lieu de
Code PHP :
<?php 
<button ... > ... </button>
essaie plutot :
Code PHP :
<?php 
<input type="button" ... />



RE: Erreur Javascript ( Ajax ) - OncleJames - 05-03-2007

En effet j'ai remplacé par des inputs, impecable sous IE, sa met à jour nikel.

Mais pas sous FF, rien ne se passe au niveau de l'upload des info
La console d'erreur me renvoi ca :

[Image: sanstitreyl9.jpg]

Fonction d'envoi

Code PHP :
<?php 
$cible
.= ' <input type="submit" value="Mettre a jour" onclick="xajax_cibleinfo_valid(
document.getElementById(\'majcible\').idchan.value,
document.getElementById(\'majcible\').cible_pseudo.value,
document.getElementById(\'majcible\').cible_pos.value,
document.getElementById(\'majcible\').pa_enleve.value,document.getElementById(\'majcible\').pv_enleve.value,
document.getElementById(\'majcible\').pv_max.value,document.getElementById(\'majcible\').pa_max.value); return false;"></form>'
;

Fonction de traitement :


Code PHP :
<?php 
function cibleinfo_valid($idchan,$cible_pseudo,$cible_pos,$cible_pa,$cible_pv,$cible_pvmax,$cible_pamax) {

$reponse = new xajaxResponse();
$ciblesql = mysql_fetch_assoc(query("SELECT cible_pa,cible_pv FROM cible wHERE idchan='$idchan'"));
$pv = $ciblesql['cible_pv']-$cible_pv;
$pa = $ciblesql['cible_pa']-$cible_pa;
query("UPDATE cible SET cible_pseudo='$cible_pseudo',cible_pos='$cible_pos',cible_pv='$pv',cible_pa='$pa',cible_pvmax='$cible_pvmax',cible_pamax='$cible_pamax' WHERE idchan='".$idchan."'");
$reponse->addScript("xajax_cibleinfo_aff();");
return
$reponse->getXML();
}

IE aucun problème d'ajout, d'affichage, sa plante juste sous FF ( upload des info )


RE: Erreur Javascript ( Ajax ) - Raoull - 05-03-2007

Suis pas trop une référence en ajax, mais :

Un truc qui m'a posé probleme avec ajax, ton bouton est de type SUBMIT, qui n'est pas géré de la même facon dans tous les navigateurs en conjonction du ONCLICK (sur certains ca soumet le formulaire direct avant le traitement ajax sur le onclick, d'ou résultat aléatoire...). Essaie avec un simple bouton, type=button.

Ou pour utiliser un bouton SUBMIT comme tu fais, il faut alors mettre l'appel de la fonction ajax dans le ONSUBMIT de la balise FORM :

Code PHP :
<?php 
<form onsbumit="xajax_cibleinfo_valid(
document.getElementById(\'majcible\').idchan.value,
document.getElementById(\'majcible\').cible_pseudo.value,
document.getElementById(\'majcible\').cible_pos.value,
document.getElementById(\'majcible\').pa_enleve.value,document.getElementById(\'majcible\').pv_enleve.value,
document.getElementById(\'majcible\').pv_max.value,document.getElementById(\'majcible\').pa_max.value); return false;"
>

...

<
input type="submit" value="Mettre a jour"  />
</
form>



RE: Erreur Javascript ( Ajax ) - OncleJames - 05-03-2007

Toujours pareil sous FF