Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    8

    'Conflitto' form dinamici..

    Salve a tutti, mi è sorto un problema (due! ) nell'organizzazione di alcuni forms...

    Si tratta di 3 menu di selezione (a tendina) che fanno apparire, a seconda di che opzione si sceglie, varie cose..

    Il problema è che selezionata un'opzione e premuto il pulsante OK adiacente [nel primo menù], le informazioni vengono visualizzate correttamente, procedendo a cambiare le informazioni nel secondo menù [o nel terzo] e premendo OK le altre opzioni si resettano allo stato iniziale, non memorizzando i cambiamenti effettuati prima...

    Per doverosa chiarezza posto codice ed esempio(LINK) :

    Codice PHP:
    <?php

    function menu_a()
    {
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
    echo 
    "<select name=\"a\">\n";
    echo 
    "<option name=\"a\" value=\"1\">opzione 1 menu 1</option>\n";
    echo 
    "<option name=\"a\" value=\"2\">opzione 2 menu 1</option>\n";
    echo 
    "<option name=\"a\" value=\"3\">opzione 3 menu 1</option>\n";
    echo 
    "
    <input type=\"submit\" value=\"OK\">\n"

    echo 
    "</select>\n";
    echo 
    "</form>\n";
    }

    function 
    menu_b()
    {
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
    echo 
    "<select name=\"b\">\n";
    echo 
    "<option name=\"b\" value=\"1\">opzione 1 menu 2</option>\n";
    echo 
    "<option name=\"b\" value=\"2\">opzione 2 menu 2</option>\n";
    echo 
    "<option name=\"b\" value=\"3\">opzione 3 menu 2</option>\n";
    echo 
    "
    <input type=\"submit\" value=\" OK \">\n"

    echo 
    "</select>\n";
    echo 
    "</form>\n";
    }

    function 
    menu_c()
    {
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
    echo 
    "<select name=\"c\">\n";
    echo 
    "<option name=\"c\" value=\"1\">opzione 1 menu 3</option>\n";
    echo 
    "<option name=\"c\" value=\"2\">opzione 2 menu 3</option>\n";
    echo 
    "<option name=\"c\" value=\"3\">opzione 3 menu 3</option>\n";
    echo 
    "
    <input type=\"submit\" value=\" OK \">\n"

    echo 
    "</select>\n";
    echo 
    "</form>\n";
    }

    function 
    opzione_1()
    {
    echo 
    "Selezionata opzione 1

    \n"
    ;
    }

    function 
    opzione_2()
    {
    echo 
    "Selezionata opzione 2

    \n"
    ;
    }

    function 
    opzione_3()
    {
    echo 
    "Selezionata opzione 3

    \n"
    ;
    }


    menu_a();

    if(isset(
    $_POST['a']))
      {
      switch(
    $_POST['a'])
            {
            case  
    1opzione_1();
            break;
            case  
    2opzione_2();
            break;
            case  
    3opzione_3();
            break;
            default: echo 
    "Err";
            break;
            }
      }
      
    menu_b();

    if(isset(
    $_POST['b']))
      {
      switch(
    $_POST['b'])
            {
            case  
    1opzione_1();
            break;
            case  
    2opzione_2();
            break;
            case  
    3opzione_3();
            break;
            default: echo 
    "Err";
            break;
            }
      }
      
    menu_c();

    if(isset(
    $_POST['c']))
      {
      switch(
    $_POST['c'])
            {
            case  
    1opzione_1();
            break;
            case  
    2opzione_2();
            break;
            case  
    3opzione_3();
            break;
            default: echo 
    "Err";
            break;
            }
      }
    ?>
    Il problema è sostanzialmente quello di non resettare ogni volta le opzioni ma mantenerle INDIPENDENTI per tutti e 3 i menu.

    Poi il secondo problema sarebbe quello di eliminare il bottone di submit in modo che le modifiche avvenissero solamente con la pressione nel menù dell'opzione desiderata, ma credo che sia necessario Javascript per risolvere questo secondo problema...

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    vediamo se ho capito , hai provato cosi?

    Codice PHP:
    function menu_a(){ 
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n"
    echo 
    "<select name=\"a\">\n"
    if(
    $POST['a']){
         switch 
    $POST['a']
         case 
    1:
              echo 
    "<option selected="selected" name=\"a\" value=\"1\">opzione 1 menu 1</option>\n"
         
    breack;
         case 
    2:
             echo 
    "<option name=\"a\" value=\"2\">opzione 2 menu 1</option>\n"

        ....
        
    etc
        
    ....
    }
    echo 
    "<option name=\"a\" value=\"1\">opzione 1 menu 1</option>\n"
    echo 
    "<option name=\"a\" value=\"2\">opzione 2 menu 1</option>\n"
    echo 
    "<option name=\"a\" value=\"3\">opzione 3 menu 1</option>\n"
    echo 
    "
    <input type=\"submit\" value=\"OK\">\n"

    echo 
    "</select>\n"
    echo 
    "</form>\n"


  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    8
    he... non cambia niente...
    quello che vorrei fare sostanzialmente è visualizzare 2 frasette contemporaneamente...
    schiacciando su una e premendo ok l'altra sparisce ancora...

    Riposto codice ed ESEMPIO :

    [scusate la lunghezza]

    Codice PHP:
    <?php

    function menu_a()
    {
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
    echo 
    "<select name=\"a\">\n";
    if(
    $POST['a']){
         switch (
    $POST['a'])
         {
         case 
    1:
              echo 
    "<option selected=\"selected\" name=\"a\" value=\"1\">opzione 1 menu 1</option>\n";
         break;
         case 
    2:
             echo 
    "<option name=\"a\" value=\"2\">opzione 2 menu 1</option>\n";
         break;
         case 
    3:
             echo 
    "<option name=\"a\" value=\"3\">opzione 3 menu 1</option>\n";
         break;
         default: echo 
    "Err";
         break;
         }
    }
    echo 
    "<option name=\"a\" value=\"1\">opzione 1 menu 1</option>\n";
    echo 
    "<option name=\"a\" value=\"2\">opzione 2 menu 1</option>\n";
    echo 
    "<option name=\"a\" value=\"3\">opzione 3 menu 1</option>\n"
    echo 
    "
    <input type=\"submit\" value=\"OK\">\n"
    ;
    echo 
    "</select>\n";
    echo 
    "</form>\n";
    }

    function 
    menu_b()
    {
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
    echo 
    "<select name=\"b\">\n";
    if(
    $POST['b']){
         switch (
    $POST['b'])
         {
         case 
    1:
              echo 
    "<option selected=\"selected\" name=\"b\" value=\"1\">opzione 1 menu 2</option>\n";
         break;
         case 
    2:
             echo 
    "<option name=\"b\" value=\"2\">opzione 2 menu 2</option>\n";
         break;
         case 
    3:
             echo 
    "<option name=\"b\" value=\"3\">opzione 3 menu 2</option>\n";
         break;
         default: echo 
    "Err";
         break;
         }
    }
    echo 
    "<option name=\"b\" value=\"1\">opzione 1 menu 2</option>\n";
    echo 
    "<option name=\"b\" value=\"2\">opzione 2 menu 2</option>\n";
    echo 
    "<option name=\"b\" value=\"3\">opzione 3 menu 2</option>\n"
    echo 
    "
    <input type=\"submit\" value=\"OK\">\n"
    ;
    echo 
    "</select>\n";
    echo 
    "</form>\n";
    }

    function 
    menu_c()
    {
    echo 
    "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
    echo 
    "<select name=\"c\">\n";
    if(
    $POST['c']){
         switch (
    $POST['c'])
         {
         case 
    1:
              echo 
    "<option selected=\"selected\" name=\"c\" value=\"1\">opzione 1 menu 3</option>\n";
         break;
         case 
    2:
             echo 
    "<option name=\"c\" value=\"2\">opzione 2 menu 3</option>\n";
         break;
         case 
    3:
             echo 
    "<option name=\"c\" value=\"3\">opzione 3 menu 3</option>\n";
         break;
         default: echo 
    "Err";
         break;
         }
    }
    echo 
    "<option name=\"c\" value=\"1\">opzione 1 menu 3</option>\n";
    echo 
    "<option name=\"c\" value=\"2\">opzione 2 menu 3</option>\n";
    echo 
    "<option name=\"c\" value=\"3\">opzione 3 menu 3</option>\n"
    echo 
    "
    <input type=\"submit\" value=\"OK\">\n"
    ;
    echo 
    "</select>\n";
    echo 
    "</form>\n";
    }

    function 
    opzione_1()
    {
    echo 
    "Selezionata opzione 1

    \n"
    ;
    }

    function 
    opzione_2()
    {
    echo 
    "Selezionata opzione 2

    \n"
    ;
    }

    function 
    opzione_3()
    {
    echo 
    "Selezionata opzione 3

    \n"
    ;
    }


    menu_a();

    if(isset(
    $_POST['a']))
      {
      switch(
    $_POST['a'])
            {
            case  
    1opzione_1();
            break;
            case  
    2opzione_2();
            break;
            case  
    3opzione_3();
            break;
            default: echo 
    "Err";
            break;
            }
      }
      
    menu_b();

    if(isset(
    $_POST['b']))
      {
      switch(
    $_POST['b'])
            {
            case  
    1opzione_1();
            break;
            case  
    2opzione_2();
            break;
            case  
    3opzione_3();
            break;
            default: echo 
    "Err";
            break;
            }
      }
      
    menu_c();

    if(isset(
    $_POST['c']))
      {
      switch(
    $_POST['c'])
            {
            case  
    1opzione_1();
            break;
            case  
    2opzione_2();
            break;
            case  
    3opzione_3();
            break;
            default: echo 
    "Err";
            break;
            }
      }
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.