[Web] Creation d'un formulaire?

Creation d'un formulaire? [Web] - Programmation

Marsh Posté le 07-07-2002 à 11:09:44    

Bonjour,
 
Voila je voudrais faire un formulaire avec plusieurs listes deroulantes avec une petite particularite:
Le choix dans la 1ere liste deroulante definit le contenu de la 2eme liste. Puis le choix ds la 2eme liste definit le contenu de la 3eme... etc
 
J'ai vu ca sur dans la section Download des sites de certains constructeurs ou dans la 1ere liste on choisit le type de peripherique. On fonction de ca seuls les modeles de ce types de periph sont affiche dans la 2eme liste...
 
Faut faire comment? et en quel language? PHP, Javascript... ?
Je suppose qu'il faut le faire en Javascript. Mais c'est pas trop mon truc. Je suis plutot PHP.
 
Merci pour le coup de main.

Reply

Marsh Posté le 07-07-2002 à 11:09:44   

Reply

Marsh Posté le 07-07-2002 à 11:29:11    

html, recherche "form"
 
(j avais trouvé une "fiche" de tous les types de bouton de formulaire sur le web... mais je sais pu ou c etait)

Reply

Marsh Posté le 07-07-2002 à 11:42:08    

j'ai fait une recherche sur le forum. J'ai bien trouve un script mais il ne marche pas.
Et comme j'y connais rien en JS ben je suis pas capable de la faire marcher :sweat:  :(

Reply

Marsh Posté le 07-07-2002 à 11:44:01    

ah oui pardon, j ai mal lu ton message
 
c est en javascript que ca se fait bien entendu
tu te souviens du nom des sites ?

Reply

Marsh Posté le 07-07-2002 à 11:54:57    

Je me souviens de celui la:
 
http://www.smc.com/index.cfm?actio [...] _downloads
 
Mais a chaque fois que l'on fait un choix ds un menu deroulant il recharge la page pour afficher le suivant. J'en ai vu qui ne rafraichissent pas la page est c'est mieux.

Reply

Marsh Posté le 07-07-2002 à 12:05:35    

quand il recharge, c est qu il reappelle le serveur pour lui demander la liste suivante...
 
essaye de trouver un qui recharge pas pour regarder dans les sources comment c est fait

Reply

Marsh Posté le 07-07-2002 à 12:08:35    

ouf j'ai trouve un script qui fait exactement ce que je veux.
Le voici:
 

Code :
  1. <FORM name="isc">
  2. <table border="0" cellspacing="0" cellpadding="0">
  3.   <tr align="center">
  4.     <td nowrap height="11">  
  5. <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
  6. <option selected>---Select1-------------</option>
  7. <option>Webmaster Sites</option>
  8. <option>News Sites</option>
  9. </select>
  10. <select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
  11. <option value=" " selected> </option>
  12. <option value=" " selected>---Select2--------------</option>
  13. <option value=" " selected>---Select2--------------</option>
  14. </select>
  15. <select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">
  16. <option value=" " selected> </option>
  17. <option value=" " selected>---Select3----------------</option>
  18. <option value=" " selected>---Select3----------------</option>
  19. </select>
  20. <script>
  21. <!--
  22. var groups=document.isc.example.options.length
  23. var group=new Array(groups)
  24. for (i=0; i<groups; i++)
  25. group[i]=new Array()
  26. group[0][0]=new Option("---Select2---"," " );
  27. group[1][0]=new Option("Now Select This One"," " );
  28. group[1][1]=new Option("JavaScript","47" );
  29. group[1][2]=new Option("DHTML","46" );
  30. group[1][3]=new Option("CGI","45" );
  31. group[2][0]=new Option("Now Select This One"," " );
  32. group[2][1]=new Option("General News","115" );
  33. group[2][2]=new Option("Technology News","116" );
  34. var temp=document.isc.stage2
  35. function redirect(x){
  36. for (m=temp.options.length-1;m>0;m--)
  37. temp.options[m]=null
  38. for (i=0;i<group[x].length;i++){
  39. temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  40. }
  41. temp.options[0].selected=true
  42. redirect1(0)
  43. }
  44. var secondGroups=document.isc.stage2.options.length
  45. var secondGroup=new Array(groups)
  46. for (i=0; i<groups; i++)  {
  47. secondGroup[i]=new Array(group[i].length)
  48. for (j=0; j<group[i].length; j++)  {
  49. secondGroup[i][j]=new Array()  }}
  50. secondGroup[0][0][0]=new Option("---Select 3---"," " );
  51. secondGroup[1][0][0]=new Option("---Select 3---"," " );
  52. secondGroup[1][1][0]=new Option("Now Select This One"," " );
  53. secondGroup[1][1][1]=new Option("JavaScript Kit","http://javascriptkit.com" );
  54. secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/" );
  55. secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net" );
  56. secondGroup[1][2][0]=new Option("Now Select This One"," " );
  57. secondGroup[1][2][1]=new Option("Dynamic Drive","http://www.dynamicdrive.com" );
  58. secondGroup[1][2][2]=new Option("Beginner's Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/" );
  59. secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/" );
  60. secondGroup[1][3][0]=new Option("Now Select This One"," " );
  61. secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com" );
  62. secondGroup[1][3][2]=new Option("Ada's Intro to CGI","http://adashimar.hypermart.net/" );
  63. secondGroup[2][0][0]=new Option("---Select 3---"," " );
  64. secondGroup[2][1][0]=new Option("Now Select This One"," " );
  65. secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com" );
  66. secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com" );
  67. secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com" );
  68. secondGroup[2][2][0]=new Option("Now Select A Page"," " );
  69. secondGroup[2][2][1]=new Option("News.com","http://www.news.com" );
  70. secondGroup[2][2][2]=new Option("Wired","http://www.wired.com" );
  71. var temp1=document.isc.stage3
  72. function redirect1(y){
  73. for (m=temp1.options.length-1;m>0;m--)
  74. temp1.options[m]=null
  75. for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
  76. temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
  77. }
  78. temp1.options[0].selected=true
  79. }
  80. function redirect2(z){
  81. window.location=temp1[z].value
  82. }
  83. //-->
  84. </script>
  85.  </td>
  86.   </tr>
  87. </table>
  88. </FORM>
  89. <p><font face="arial" size="1">Powered and Generated by </font><a href="http://www.g1script.com"><font face="arial,helvetica" size="1">G1script.Com</font></a></p>


 
Me reste plus qu'a comprendre comment il marche et l'adapter maintenant!
Ca va etre cho ca


Message édité par IvanleFou le 07-07-2002 à 12:09:43
Reply

Marsh Posté le 07-07-2002 à 12:25:43    

bon courgage :)

Reply

Marsh Posté le 07-07-2002 à 13:03:09    

tout est clairement expliqué ici : http://www.phpinfo.net/?p=articles&rub=listes


---------------
...oups kernel error...
Reply

Marsh Posté le 08-07-2002 à 01:32:34    

Bon voici mon script:
 

Code :
  1. <?
  2. switch($action)
  3. {
  4. case "add";
  5. echo $proc;
  6. echo $type_proc;
  7. exit;
  8. break;
  9. default;
  10. ?>
  11. <form name="form_proc" action="essai.php">
  12. <input type="hidden" name="action" value="add">
  13. <p><select name="proc" size="1" onChange="redirect(this.options.selectedIndex)">
  14. <option>a1</option>
  15. <option>a2</option>
  16. </select>
  17. <select name="type_proc" size="1">
  18. <option selected>aa1</option>
  19. <option>aa2</option>
  20. <option>aa3</option>
  21. </select>
  22. <input type="button" name="test" value="Go!" onClick="go()">
  23. </p>
  24. <script>
  25. <!--
  26. var groups=document.form_proc.proc.options.length
  27. var group=new Array(groups)
  28. for (i=0; i<groups; i++)
  29. group[i]=new Array()
  30. group[0][0]=new Option("aa1","aa1" )
  31. group[0][1]=new Option("aa2","aa2" )
  32. group[0][2]=new Option("aa3","aa3" )
  33. group[1][0]=new Option("bb1","bb1" )
  34. group[1][1]=new Option("bb2","bb2" )
  35. var temp=document.form_proc.type_proc
  36. function redirect(x){
  37. for (m=temp.options.length-1;m>0;m--)
  38. temp.options[m]=null
  39. for (i=0;i<group[x].length;i++){
  40. temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  41. }
  42. temp.options[0].selected=true
  43. }
  44. function go(){
  45. //location=temp.options[temp.selectedIndex].value
  46. location='essai.php'
  47. }
  48. //-->
  49. </script>
  50. </form>
  51. <?
  52. break;
  53. }
  54. ?>


 
Qd je click sur le bouton OK j'aimerais que ca aille ds le 'case "add";' et faire afficher les choix fait ds les menus.
Mais ca marche trop pas. C'est quoi ce bordel??? :??:  
Normalement en passant en hidden la valeur 'action=add' il devrait y alle. J'ai fait comme ca dans tout mes autres formulaires et la ca marche pas???
Deplus avec 'echo $proc;' j'obtiens rien. Le formulaire ne passe pas les valeurs.
 
J'y connais rien en JS mais j'ai l'impression que c bien le bordel. C'est pour ca que je voudrais recuperer au plus vite mes valeurs pour repasser ds le PHP.
 
faut que je fasse koi?

Reply

Marsh Posté le 08-07-2002 à 01:32:34   

Reply

Marsh Posté le 08-07-2002 à 18:55:51    

UP!

Reply

Sujets relatifs:

Leave a Replay

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