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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Un formulaire integre dans un autre formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un formulaire integre dans un autre formulaire

n°207007
Sebastien
Posté le 02-09-2002 à 11:25:12  profilanswer
 

Voila j ai ca :

Code :
  1. <form ....>
  2. ...
  3. <form>
  4. <select onChange=submit()>
  5. ...
  6. </select>
  7. </form>
  8. <input....>
  9. </form>


 
Le probleme donc c'est que mon submit me lance le form exterieur et non pas comme je le souhaiterais le form interne :-(
 
Quelqu'un a une astuce j ai essaye de nommer mais les formulaires...

mood
Publicité
Posté le 02-09-2002 à 11:25:12  profilanswer
 

n°207010
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 11:31:02  profilanswer
 

http://forum.hardware.fr/forum2.php3?post=24682&cat=10
 
La question qui nous intéresse plutot c'est : "qu'est qui te pousse à avoir un formulaire inclu dans un autre ?"

n°207015
Sebastien
Posté le 02-09-2002 à 11:40:28  profilanswer
 

Ben dans mon select j ai une liste de domaine (provenant une bdd sql) quand je choisis un domaine je veux qu en dessous il y a une zone texte qui se mette a jour avec l alias du domaine.
 
Le but etant de pouvoir modifier le nom du domaine et l alias grace au form externe

n°207031
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 11:56:42  profilanswer
 

Tu utilises un langage pour générer tes pages (PHP, perl....) ?
 
Est-ce que la BDD alias <-> domaine a beaucoup d'enregistrements ?

n°207037
Sebastien
Posté le 02-09-2002 à 12:00:06  profilanswer
 

Oui php
Et non tres peu d enregistrement  
(moins de 10)

n°207048
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 12:13:55  profilanswer
 

Dans ce cas, ce que tu peux faire, c'est faire générer par PHP le JavaScript nécessaire à ta manip.
 
D'abord tu lui fais écrire ton <select>
 
<select name="domaine" onChange="selectAlias();">
  <option value="0">Domaine 1</option>
  <option value="1">Domaine 2</option>
  ...
</select>
 
 
Ensuite tu lui fais écrire un tableau JavaScript :
 
tabAlias = new Array(10);
tabAlias[0] = "Alias 1";
tabAlias[1] = "Alias 2";
...
 
 
Enfin, la fonction selectAlias, qui écrit dans la zone de texte le nom de l'alias sélectioné avec le <select> :
 
selectAlias() {
  document.monFormulaire.monChamp.value = tabAlias[document.monFormulaire.alias.selectedIndex];
}

n°207053
Sebastien
Posté le 02-09-2002 à 12:16:06  profilanswer
 

Je vais boufer et j essaye ca ensuite mais ca me parait etre pas mal

n°207172
Sebastien
Posté le 02-09-2002 à 14:40:34  profilanswer
 

Bon ca avance mais je coince sur la creation du tableau  
 
Je le mets comment en js dans ma page ?
echo "tabAlias = new Array(10)";
while....
echo "tabAlias[0] = $alias[$i]":
 
ca marcherait ca ?

n°207174
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 14:43:36  profilanswer
 

Plutot ça :
 
echo "tabAlias = new Array(10);";
while....
echo "tabAlias[0] = \"$alias[$i]\";";

n°207185
Sebastien
Posté le 02-09-2002 à 14:58:13  profilanswer
 

Ouais j ai essaye mais ca marche pas comme ca, il m affiche a l ecran ce qu'il y a dans mon echo ce que je trouve normal.
 
Tu peux me donner un exepmle de creation d un tableau js dans du html normal, je pense qu a partir de la je serais m'en sortir

mood
Publicité
Posté le 02-09-2002 à 14:58:13  profilanswer
 

n°207191
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 15:02:01  profilanswer
 

Il te l'affiche à l'écran ? Tu bien mis tout ça entre des balises <script type="text/javascript"> ... </script> ?

n°207199
Sebastien
Posté le 02-09-2002 à 15:07:52  profilanswer
 

Nop donc je me suis dit pour le js (je connais pas du tout le js a la abse) faut faire ca, donc je l ai fait mais maintenant il me renvoit rien
 
je te montre ce que j ai fait ca sera plus clair

Code :
  1. <SCRIPT language="javascript">
  2. function selectAlias() {
  3. document.formulaire.modif.value = this.formulaire.elements['valeur'].options[this.formulaire.elements['valeur'].selectedIndex].text; //ca ca marche
  4. document.formulaire.alias.value = tabAlias.length; //la je fais juste un test voir si il me retrouve mon tableau
  5. }
  6. </script>


 
La partie important epurée

Code :
  1. echo "<FORM name = formulaire enctype=\"multipart/form-data\" METHOD=\"POST\" >"; $qw=mysql_query("select id, nom, alias from $prefix"._doc_."$nom" );
  2. echo "
  3. <script type=javascript>
  4. tabAlias = new Array(10);
  5. </script>";
  6. echo "Champ : <select name=valeur onChange='selectAlias()'>";
  7. while ($res=mysql_fetch_row($qw)){
  8.  echo "<script type=javascript>tabAlias[$res[0]] = $res[2];</script>";
  9.  echo "<option value=$res[0]>$res[1]</option>";
  10. }
  11. echo "
  12. <option value=''>---Nouveau $nom---
  13. </option></select>
  14. ";
  15. echo "
  16. <br>Modification ou Ajout : <input type=text name=modif>
  17. <br>Modification ou Ajout de l'alias: <input type=text name=alias>
  18. <br><input type=SUBMIT name=Supp value=Envoyer>
  19. </form></p>";


Message édité par Sebastien le 02-09-2002 à 15:09:39
n°207227
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 15:37:17  profilanswer
 

Oulala tu mélanges le javascript dans le formulaire... c'est pas très propre : tu dois faire chaque étape séparément.
 
Je vais pas te faire un "corrigé", mais voilà en gros ce que tu dois faire :
 
 
Vu qu'on a besoin d'écrire à 2 endroits le résultat de la requête, on va prendre un tableau dans lequel on va mettre les données renvoyées par la requête. Ça évitera d'exécuter celle-ci 2 fois.
 

$resultat = array();
 
...
 
while ($res = mysql_fetch_row($qw)) {
  array_push($resultat, $res);
}


 
 
Ensuite la partie JavaScript :
 

<script type="text/javascript">
function selectAlias() {
  document.formulaire.modif.value = tabAlias[document.formulaire.valeur.selectedIndex];
}
 
tabAlias = new Array(10);
 
<?
foreach ($resultat as $cle => $ligne) {
  echo "tabAlias[$cle] = \"$ligne[2]\";";
}
?>


 
Ensuite, le formulaire et notamment le <select> :
 

echo "Champ : <select name=\"valeur\" onChange=\"selectAlias();\">";
 
foreach ($resultat as $ligne) {
 echo "<option value=\"$ligne[0]\">$ligne[1]</option>";
}
echo "<option value=''>---Nouveau $nom---</option>\n</select>";


Message édité par gm_superstar le 02-09-2002 à 16:03:20
n°207259
Sebastien
Posté le 02-09-2002 à 15:57:31  profilanswer
 

Ok ca marche je te remercie beaucoup de ta patiente

n°207261
LexTuhor
Posté le 02-09-2002 à 15:58:26  profilanswer
 

c qui la patiente ? Elle est jolie au moins ?  [:kunks]

n°207279
gm_superst​ar
Appelez-moi Super
Posté le 02-09-2002 à 16:06:33  profilanswer
 

arf :)


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

  Un formulaire integre dans un autre formulaire

 

Sujets relatifs
boucle et formulaireAccès aux champs d'un formulaire
passer un champ de formulaire en parametre d'une fonctionenvoyer un formulaire sous outlook
Commen m'envoyé un mail par formulaire sur mon site :??:retour sur base de données d un formulaire...
PHP + Formulaire : récupérer la valeur d'une liste.Remplir et submit un formulaire automatiquement...
jaimerai pour faire un lien image integre dans le backgrounStyle de Formulaire
Plus de sujets relatifs à : Un formulaire integre dans un autre formulaire


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