Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1431 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascrip] Changer l'action d'un formulaire[ résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[javascrip] Changer l'action d'un formulaire[ résolu]

n°1497230
Siron
Posté le 29-12-2006 à 22:07:09  profilanswer
 

Bonjours, je code un site en php/html, et j'ai besoins de changer la partie action d'un formulaire.
Le truc c'est que j'ai une partie select dans le formulaire, et quand l'utilisateur clique sur un choix, la partie action du formulaire change et le formulaire est envoyé.
 
J'ai vite compris qu'il me faudrait du javascript pour faire cela, mais je n'y connais rien en javascript et j'ai donc du mal.
Voici mon code :
 
La fonction :

Citation :

<script language="javascript">
function loadtype(){
document.forms['typechoice'].action = 'index.php?contenu=blog&amp;style=' + this.form.elements['style'].options[this.form.elements['type'].selectedIndex].value;
document.typechoice.submit();
}
</script>


Puis dans le formulaire y a : onchange="loadtype()"
Et entre les balise head : <SCRIPT LANGUAGE="JavaScript" SRC="div/loadtype.js"></SCRIPT>
 
Avec ce code la rien ne se passe, si à la place de loadtype() je mets directement document.typechoice.submit();, alors le formulaire est bien chargé (mais sans la modification de action).
 
Quelqu'un pourrait-il me dire mon erreur ?
Merci d'avance.
Siron


Message édité par Siron le 30-12-2006 à 10:28:16
mood
Publicité
Posté le 29-12-2006 à 22:07:09  profilanswer
 

n°1497263
Siron
Posté le 30-12-2006 à 10:27:50  profilanswer
 

C'est bon j'ai trouvé, je me suis souvenu que sur matbe.com ils avaient ce genre de menu et j'ai été pomper la ligne de code :

Citation :

onchange="window.location.href='index.php?contenu=blog&amp;type='+this.value"


C'est vachement plus simple que mon système, j'y avait pas pensé.


Message édité par Siron le 30-12-2006 à 10:43:00
n°1497303
FlorentG
Unité de Masse
Posté le 30-12-2006 à 13:07:22  profilanswer
 

Je pige vraiment, mais alors vraiment pas là [:johneh] C'est quand-même fait d'origine par le navigateur, suffit de bien faire le form :

Code :
  1. <form action="index.php" method="get">
  2.   <div>
  3.     <input type="hidden" name="contenu" value="blog" />
  4.     <label for="zeType">Type</label>
  5.     <select name="type" id="zeType">
  6.       <option value="pouet">Pouet</option>
  7.       <option value="tagada">Tagada</option>
  8.     </select>
  9.     <input type="submit" name="Ok" />
  10.   </div>
  11. </form>


Faut surtout pas utiliser du JS pour un truc important comme ça, pour des raisons d'accessiblités. On peut parfaitement le faire de manière standard :)

n°1497304
FlorentG
Unité de Masse
Posté le 30-12-2006 à 13:07:42  profilanswer
 

Y'a juste le coup du input hidden en fait qu'il faut savoir, pour mettre le paramètres dans l'url (sinon c'est enlevé)

n°1497319
Siron
Posté le 30-12-2006 à 14:24:48  profilanswer
 

Donc si je comprends bien ton truc, si j'utilise ton code :
 
Quand je sélectionne une option dans la liste déroulante :
- Ca change en fonction de l'option choisie la partie action du form.
- Ca envoit directement le formulaire.
 
C'est ça ?
 
Parceque j'ai pas l'impression que ça fasse cela (à moins que le label que je ne connais pas fasse que ...)

n°1497536
FlorentG
Unité de Masse
Posté le 31-12-2006 à 13:43:00  profilanswer
 

Si ça fait ça, c'est quelque chose de standards, je pige pas trop ton problème [:johneh] Avec la méthode GET, les paramètres sont ajoutés à l'url spécifiée dans l'action, donc ce que tu veux faire
 
Pour le label, c'est pour associer un intitulé avec son champ

n°1497559
Siron
Posté le 31-12-2006 à 14:45:45  profilanswer
 

:pt1cable:  just !!!
J'ai toujours utilisé la méthode post et petit à petit la méthode get m'était sortie de la tête.
Par contre si je veux me passer du bouton input me faut le script ?

n°1497567
dwogsi
Défaillance cérébrale...
Posté le 31-12-2006 à 15:59:29  profilanswer
 

Oui si tu veux te passer du bouton d'envois du formulaire il te faut utiliser du js pour l'envois du formulaire. Idéalement le bouton devrait être présent au départ et masqué à coup de js.


Message édité par dwogsi le 31-12-2006 à 15:59:49

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascrip] Changer l'action d'un formulaire[ résolu]

 

Sujets relatifs
Ouverture d'un popup, puis action dans la page mèreComment changer la langue de Windows en VB6
[résolu] update IF exists ELSE insert[résolu] Problème de mise à jour d'un champ
Css background d'un li au survol[Résolu] Evaluer la complexité de morceaux d'algo
[resolu]formulaire avec modification texte(couleur ,...)[Résolu] Bien sur IE, probleme sur Firefox
Formulaire : éditeur de texte Wysiwyg 
Plus de sujets relatifs à : [javascrip] Changer l'action d'un formulaire[ résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR