[js] identifier buton type="radio"

identifier buton type="radio" [js] - Programmation

Marsh Posté le 29-06-2002 à 18:40:17    

J'aimerai savoir comment on peut faire en javascript pour résoudre le problème suivant :
 
O ajouter donnée
O supprimer donnée
O modifier donnée
 
[Valider]
 
En gros j'ai un choix par bouton type="radio", et j'aimerai que quand j'appuie sur valider, ça m'envoie directement à la page ASP correspondante (valider.Asp supprimer.asp modifier.Asp).
 
En fait il sagit de faire une fonction javascript qui détermine l'action d'un formulaire.
 
Il faut donc que je lui passe en paramètre le résultat du bouton, et qu'en suite je passe un "case of" en fonction du résultat.
 
 
 

Reply

Marsh Posté le 29-06-2002 à 18:40:17   

Reply

Marsh Posté le 29-06-2002 à 19:43:12    

Ca donnerait un truc du genre :

Code :
  1. function Soumettre() {
  2.   if (document.forms[0].radiobut[0].checked) {
  3.     document.forms[0].action = 'ajouter.asp';
  4.   }
  5.   elseif (document.forms[0].radiobut[1].checked) {
  6.     document.forms[0].action = 'supprimer.asp';
  7.   }
  8.   elseif (document.forms[0].radiobut[2].checked) {
  9.     document.forms[0].action = 'modifier.asp';
  10.   }
  11.   document.forms[0].submit();
  12. }


Et pour le bouton Valider :

Code :
  1. <input type="button" value="[Valider]" onClick="Soumettre()">


Bien sûr c'est à confirmer et je ne suis pas sûr !

Reply

Marsh Posté le 01-07-2002 à 08:59:55    

Apparement il y a un truc qui ne marche pas, ca me met une vieille erreur.
Et je n'arrive pas à voir d'ou ça vient, je pense que c'est la fonction javascript car le reste de la page, c'est des trucs tout con, et j'ai pas vu d'erreurs.

Reply

Marsh Posté le 01-07-2002 à 09:22:07    

Je vais mettre tout le code de la page ce serat plus facile.
Je rappelle, mais vous le verrez bien tout seul que c'est une page qui en fonction du choix fait par les button radio me redirectionne vers 3 pages asp différentes.
Et le débugeur me dit qu'il y a un problème de Pointvirgule ligne 10 et qu'il manque un objet ligne 34.
 
Je sais pas comment on fait les zones de saisie des copier/coller donc je le met là comme un gros porc :
 
<HTML>
<HEAD><TITLE>Recherche auteurs</TITLE>
<SCRIPT Language="javascript">
// Permet de choisir quelle page appeler
// en fonction de ce qui est coché.  
 
function Soumettre() {
      if (document.forms[0].radiobut[0].checked) {
          document.forms[0].action = 'liens_ajouter.asp'
      }
      elseif (document.forms[0].radiobut[1].checked) {
          document.forms[0].action = 'liens_supprimer.asp'
      }
      elseif (document.forms[0].radiobut[2].checked) {
          document.forms[0].action = 'liens_modifier.asp'
      }
      document.forms[0].submit()
  }
 
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<FORM METHOD="post" ACTION="">
<TABLE CELLSPACING="0" CELLPADDING="4" ALIGN="CENTER">
  <TR><TD ALIGN="CENTER" BGCOLOR="#CCCCCC">
    <B>Fiche Liens</B></TD></TR>
  <TR><TD> </TD><TR>
  <TR><TD>Sélectionnez une des 4 propositions suivantes :<BR>
    <INPUT TYPE="RADIO" NAME="choixlien" VALUE="ajouter"> Ajouter un nouveau lien.<BR>
    <INPUT TYPE="RADIO" NAME="choixlien" VALUE="supprimer"> Supprimer un lien<BR>
    <INPUT TYPE="RADIO" NAME="choixlien" VALUE="modifier"> Modifier un lien<BR>
    <INPUT TYPE="RADIO" NAME="choixlien" VALUE="rien"> Ne rien faire</TD></TR>
  <TR><TD> </TD><TR>
  <TR><TD ALIGN="CENTER" BGCOLOR="#CCCCCC">
    <INPUT TYPE="button" onclick="soumettre()" VALUE="rechercher">
    </TD></TR>
</TABLE>
</FORM>
</BODY>
</HTML>

Reply

Marsh Posté le 01-07-2002 à 18:20:49    

1 - avec des ; c mieux  ;)  
2 - le js est sensible a la casse, tu fais appel a la fonction soumettre qui n'existe pas (toi tu as declare Soumettre
3 - je te conseille de d'abbord valider ce formulaire vers une page asp ou php (comme ca tu n'auras qu'un element choixlien et une seule valeure) et de faire la redirection depuis cette page (header() en php par exemple)


---------------
All we need is a soul revolution
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed