Page 1 sur 1

Changer l' "action" d'un formulaire en javascript

Posté : 08 juin 2006, 16:23
par Tessai
Bonjour tout le monde !

J'ai un petit soucis... mon code refuse de fonctionner...

Alors je me tourne vers les pros que vous êtes :D
<form method="post" id="form1" name="form1" action="main.php">
<select name="userchoice" onchange="submit()">
... ... ...
</select>
</form>
<img class="it" src="images/it.jpg" alt="IT" id="it" align="left" onmouseover="it.src='images/it2.jpg'" onmouseout="it.src='images/it.jpg'" onclick="form1.action='it.php' ; window.navigate('it.php'); home.src='images/it2.jpg'"  />
Et devinez quoi... tout fonctionne sauf mon "form1.action='it.php' "

quand je fais mes tests, je clic sur mon image IT, je vais bien ou je dois aller, il m'affiche toutes mes données mais... ne modifie pas mon "action"...
Quand je regarde dans la source il reste sur action="main.php"

Qq1 saurait pourquoi il refuse de fonctionner ??

Merciiii

Posté : 08 juin 2006, 16:41
par naholyr
"form1" tout court ne désigne pas ton formulaire (sauf éventuellement sous IE je pense). Pour le récupérer il faut récupérer l'objet Form à partir de l'identifiant, avec document.getElementById("form1").

Ensuite je ne connais pas window.navigate, qu'est censée faire cette fonction ?

Posté : 08 juin 2006, 16:52
par Tessai
window.navigate va juste ouvrir ma page "it.php" dans la mem fenetre si mes souvenirs sont bons... mais ça, ça fonctionne ;)

Par contre j'ai essayé
onclick="document.getElementById("form1").action='it.php' ... "
Et ça ne fonctionne pas... il me tape un "Syntax error" je dois le mettre dans un variable ou koi ?

Posté : 08 juin 2006, 17:26
par naholyr
Tu utilises des guillemets doubles après onclick=, donc quand tu utilises à nouveau des guillemets doubles dans getElementById(), forcément ça ne marche pas ;)

Utilise 'form1' au lieu de "form1".

Posté : 09 juin 2006, 08:39
par Tessai
Suis-je bête...

Je n'ai plus de message d'erreur maintenant mais ça ne fonctionne toujours pas...

Y-aurait-il moyen de vérifier que si la commande est bien passée ?

Re: Changer l' "action" d'un formulaire en javascr

Posté : 09 juin 2006, 09:21
par Truc
Quand je regarde dans la source il reste sur action="main.php"
La source ne changera plus tu ne vera donc pas le changement visuellement :wink:
Y-aurait-il moyen de vérifier que si la commande est bien passée ?
un
alert(document.getElementById("form1").action)
juste après le changement

Posté : 09 juin 2006, 10:00
par Tessai
Ben vi... il me sort un "main.php" ce qui me conforte dans mon problème :cry:

Mais pourquoi diable ne veut il pas changer mon "action" ??


EDIT :

Oué bon... je viens de me rendre compte que à chaque fois que je recharge une page... je fais un include de mon header qui est donc... ré-initialisé...

Bref... je dois trouvé un autre solution :lol:

Sorry pour le dérangement :roll: