MattBPA
Messages postés5Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention12 février 2009
-
12 févr. 2009 à 15:39
MattBPA
Messages postés5Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention12 février 2009
-
12 févr. 2009 à 17:24
Bonjour.
J'essaie depuis plusieurs heures à modifier l'action de mon formulaire en javascript et je commence à déprimer.
Tout à l'air pourtant bien simple mais ça ne fonctionne pas et je ne comprends pas pourquoi.
Voilà en gros la situation :
J'ai un menu déroulant contenant une liste de nom, suivi d'un module fancy upload (ce qui explique pourquoi je dois me galérer à passer par l'action du formulaire, les autres variables ne passent pas).
Afin de passer la valeur du menu déroulant dans l'action du formulaire, j'ai placé un onChange dans le menu qui appelle une fonction :
function GetDest()
{
var pseudo=document.getElementById('id_dest').value;
document.getElementById('form-demo').action='bcv-scripts/upload.php?pseudo='+pseudo;
alert(document.getElementById('form-demo').action);
}
Là où je perds le fil, c'est que l'alert indique la bonne valeur, mais l'action de formulaire ne change pas. Donc si pouviez m'aiguiller ce serait cool merci
MattBPA
Messages postés5Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention12 février 2009 12 févr. 2009 à 17:24
Donc quelqu'un m'a renseigné sur le pourquoi du comment les différents codes sources :
Bonjour, le code source de la sélection te donne en théorie le code de ta page qui a été modifié en JS (s'il a été modifié). Alors que "Afficher le code source" te donne le code d'origine, non modifié, tel que le serveur te l'a envoyé.
En effet après avoir rajouté un submit dans mon script ci-dessus, il marche bien.
Le problème n'est pas résolu pour moi dans le sens où l'upload ne se fait pas où je veux mais ce n'est plus le sujet.
Merci Bul3 de m'avoir aidé. Tu avais raison dès le début en fait, mais je ne connaissais pas cette subtilité du code source et je me suis focalisé dessus.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 12 févr. 2009 à 15:46
bonjour,
>> c'est que l'alert indique la bonne valeur
>> mais l'action de formulaire ne change pas
comme tu affiches l'action du formulaire, c'est que c'est bien modifié !
aucune raisons que cela ne fonctionne pas...
sauf contenu bizarre de pseudo, mauvais traitement dans upload.php...
ou autre
MattBPA
Messages postés5Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention12 février 2009 12 févr. 2009 à 15:51
Merci pour ta réponse rapide.
Je suis d'accord avec toi, il n'y a aucune raison que ça ne fonctionne pas, c'est pour ça que je poste ici dès fois que quelqu'un ait déjà eu ce problème
contenu bizarre de pseudo : impossible puisqu'avant l'affichage dans le menu déroulant, je passe les caractères en minuscule et remplace tous les caractères spéciaux en php.
mauvais traitement dans upload.php : non plus car je vérifie dans le code source avant l'envoi du formulaire et l'action n'a pas changé. l'upload.php n'est donc pas intervenu.
MattBPA
Messages postés5Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention12 février 2009 12 févr. 2009 à 16:11
J'ai oublié de préciser qu'aucune erreur ne s'affiche dans la console d'erreur de FF.
Alors deuxième chose incomprehensible : lorsque je regarde la source, l'action du formulaire ne change pas. En revanche quand je sélectionne mon formulaire sur mon navigateur et que je fais "afficher le code source de la sélection", l'action du formulaire a bien été modifié...
Je nage complètement là...
Vous n’avez pas trouvé la réponse que vous recherchez ?
puisque ça, bien entendu tout simple, ça baigne
mais bon... on ne doit pas avoir assez de billes
>>et remplace tous les caractères spéciaux en php.
??? en php ? on est coté client là ?
>>mauvais traitement dans upload.php : non plus
bah... il ne doit pas être appelé d'après ce que tu dis.
>>avant l'envoi du formulaire et l'action n'a pas changé
or tu nous dis bien afficher dans l'alert !
donc, contradiction !
formulaire bien soumis, et page rechargée par exemple...
- Pas de validation de formulaire.
- Pas de problème au niveau de la valeur du pseudo, ce sont des int.
- Pas de script parasite, l'erreur vient bien du js
> Au changement de donnée dans le menu déroulant, le message d'alerte affiche correctement : upload.php?pseudox
> Sur Firefox, lorsque je fais : Code source de la page, j'ai toujours : <form id"form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=0">
> Lorsque je sélectionne mon menu et que je fais Code source de la sélection j'ai bien : <form id"form_pseudo" name="form_pseudo" method="post" action="upload.php?pseudo=x">