11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

j'ai le formulaire suivant


<form method="post" action="directory.php">

<select onchange="" name="selection">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>


<input type="submit" value="envoyer" onclick="" />
</form>


J'aimerais que lorsque l'on choisit un élément du select, cela recharge la page avec une url de type directory.php?action=select et que lorsque je clique sur le bouton cela recharge également la page avec une url de type
directory.php?action=input.
En fait j'aimerais changer la valeur action selon que je clique sur le bouton ou que je choisis un élément de la liste déroulante.
Je suppose que ce changement se fait respectivement sur les propriétés onchange et onclick du select et du input.

Merci
Modifié par ashesheart (13 Jun 2007 - 10:35)
Hello,

ce serait pas quelque chose comme ça?


<form method="post" action="directory.php">
<select onchange="this.form.action=directory.php?action=select" name="selection">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>

<input type="submit" value="envoyer" onclick="this.form.action=directory.php?action=input" />
</form>


Je comprends pas trop ce que tu veux faire mais si ça peut t'aider un peu... Smiley cligne

EDIT: désolée koala je les avais oublié Smiley confused
Modifié par skatybabe (12 Jun 2007 - 11:33)
Modérateur
Bonjour skatybabe, Smiley smile

Pourrais-tu éditer ton message pour baliser le code comme prévu dans les règles du forum ? merci d'avance. Smiley cligne

-> bouton d'édition en haut à droite de ton dernier post puis encadrement du code par [code ]...[/ code] (sans les espaces)
Modifié par koala64 (12 Jun 2007 - 11:10)
skatybabe a écrit :
Hello,

ce serait pas quelque chose comme ça?


<form method="post" action="directory.php">
<select onchange="this.form.action=directory.php?action=select" name="selection">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>

<input type="submit" value="envoyer" onclick="this.form.action=directory.php?action=input" />
</form>


Je comprends pas trop ce que tu veux faire mais si ça peut t'aider un peu... Smiley cligne



Sa devrait marcher je testerais plus tard. Merci
Pour ce qu'il s'agit du

onclick="this.form.action=directory.php?action=input" />


sa marche parfaitement bien (il recharge la page correctement).

Par contre le onchange du select ne marche pas (la page ne se recharge pas) Il est pourtant basé pour temps sur le même code. Je pense que c'est a cause du fait que le select n'est pas de "type submit" comme le bouton.

Avez vous donc une solution pour que cela marche.
Voilà:

<form method="post" action="directory.php">

<select onchange="javascript:this.form.action='directory.php?action=select';this.form.submit();" name="selection">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>
<input type="submit" value="envoyer" onclick="javascript:this.form.action='directory.php?action=input';" />

</form>


Smiley cligne
<select onchange="javascript:this.form.action='directory.php?action=select';[B]this.form.submit();[/B]" name="selection">


Combien de fois faudra-t-il encore vous dire de ne pas soumettre automatiquement ?
Pensez à ceux qui utilisent les 4 touches entre Ctrl et le 0 du pavé numérique...

EDIT : Au bug ! Au bug ! Un bug dans ce message ? Qui a parlé de bug ? Dew ! Dew ! Dew ! Vite ! Un bug !
Modifié par QuentinC (12 Jun 2007 - 18:03)
QuentinC a écrit :
<select onchange="javascript:this.form.action='directory.php?action=select';[B]this.form.submit();[/B]" name="selection">


Combien de fois faudra-t-il encore vous dire de ne pas soumettre automatiquement ?
Pensez à ceux qui utilisent les 4 touches entre Ctrl et le 0 du pavé numérique...

EDIT : Au bug ! Au bug ! Un bug dans ce message ? Qui a parlé de bug ? Dew ! Dew ! Dew ! Vite ! Un bug !


Je comprend pas ce que tu veux dire par soumettre automatiquement.
alors si j'ai bien compris (sinon on me reprendra Smiley langue )

si l'utilisateur n'a pas de souris(souris morte, piles usées, handicap) et utilise les fleches alors pour passer du choix de l'option 1 à l'option 2 il va produire un onchange.

moralité avec un

a écrit :
<select onchange="javascript:this.form.action='directory.php?action=select';[B]this.form.submit();[/B]" name="selection">


un utilisateur ne pourra jamais atteindre le choix 3 et au-dela. car le formulaire est lançé aussitôt le choix 2 pris.

où alors il lui faudra valider 8 fois pour atteindre le 8eme choix a condition que le select garde en mémoire sont état precedent
Modifié par CPascal (13 Jun 2007 - 09:56)
d'accord c'est vrai que c'est bête. Je suis vraiment quelqu'un qui est pour l'accessibilité mais si on pense a tout les cas alors on a pas fini de développer des appli qui auront une taille énorme. Genre tu bois ton café tu le laisses tomber sur le clavier et la mince il marche plus. Tu vas mettre un clavier visuel genre a la crosoft pour qu'il puisse l'utiliser avec la souris ???
Afin de résoudre le problème d'accessibilité si jamais votre souris tombe en panne ou que sais-je voir même pire (elle est tombée par terre et s'est cassée une patte...), je propose le code suivant

<form method="post" action="directory.php">
<select name="selection">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>
<input type="submit" value="selectionner" onclick="this.form.action=directory.php?action=select" />
<input type="submit" value="envoyer" onclick="this.form.action=directory.php?action=input" />
</form>


Voila je modifie le post en résolu. Merci a tous ceux qui ont pris le temps de m'aider.

Edit: sa doit se trouver une armure pour souris et clavier non ?
Modifié par ashesheart (13 Jun 2007 - 10:36)