Foros del Web » Programando para Internet » PHP »

lista desplegable y llamado a funcion

Estas en el tema de lista desplegable y llamado a funcion en el foro de PHP en Foros del Web. hola: tengo un archivo con varias funciones, en una de ella es un formulario el cual contiene una lista desplegable, lo que yo necesito es ...
  #1 (permalink)  
Antiguo 09/04/2008, 12:48
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
lista desplegable y llamado a funcion

hola:
tengo un archivo con varias funciones, en una de ella es un formulario el cual contiene una lista desplegable, lo que yo necesito es que cuando se selecciona un elemento me llame a otra funcion. Por ejemplo, tengo en una lista los nombres Shopping, cuando selecciono uno quiero que se muestren los locales que hay en ese shopping, si seleccino otro los locales de otros:

el formulario esta armado asi:
Código PHP:
function form_new_event(){
    $id_client=$_POST['lstclient'];
    $sql="select * from clients left join client_contacts on client_contacts.client_id=clients.id left join client_phones on
             client_phones.client_id=clients.id where clients.id='$id_client'";
    $resul=mysql_query($sql);
        $row=mysql_fetch_array($resul);?>
        <h3>New Event With Kit</h3><br><br>
        <p>Company Name: <?php echo $row[company_name];?></p>
        <p>Company Phone: <?php echo $row[number];?></p>
        <p>Company Address: <?php echo $row[address];?></p>
        <p>City: <?php echo $row[city];?></p>
        <p>State: <?php echo $row[state];?></p>
        <p>Contact Name: <?php echo $row[contact_name];?></p>
        <p>Contact phone: <?php echo $row[phone_number];?></p>
        <p>Contact Email: <?php echo $row[email];?></p>
        <br>
        Data Event:<br>
        <form action="" method="POST">
            <input type="hidden" name="id_client" value="<? echo $id_client;?>">
            <p>Primary Objetive: <input type="text" name="objective" value=""></p>
            <p>Position Title: <input type="text" name="title" value=""></p>
            <p>Event Program Code: <input type="text" name="programcode" value=""></p>
            <p>Event Description:</p> 
            <p><textarea name="description"></textarea></p><br><br><br><br>                
            <p>Event Date: <input type="text" name="eventdate" value="yyyy-mm-dd"></p>
            <p>Start Time: <input type="text" name="startime" value="H:m"></p>
            <p>End Time: <input type="text" name="endtime" value="H:m"></p>
            <p>Event Rate: <input type="text" name="eventrate" value=""></p>
            <p>Total Event Income: <input type="text" name="eventincome"></p>
            <br>
            <p>Retail Store/s:
                <select name="lstretails" onChange="submit(locations)">
                <option></option>
            <?php $sql="select id_store, name from stores";
                  
$result=mysql_query($sql);
                  
$f=1;
                  while (
$row=mysql_fetch_array($result)){
                      
$f=0;
                      
?>
                      <option value="<? echo $row[id_store]?>"><? echo $row[name];?></option>
            <?php }
                if(
$f){?>
                <option value="0">No users in database.</option>
                </select>
                <input type="submit" name="btnstoreform" value="New Store">
          <?php }else{?>
                </select>
                <input type="submit" name="btnstoreform" value="New Store">
            <?php }?>    
            </p>
            <p><?php locations($_POST['lstretails']);?></p>
            <p class="required">EID: <input type="text" name="eid" value=""></p>
            <p>Unique Store Number: <input type="text" name="unique" value=""></p>
            <p class="required">Address Retails Store: <input type="text" name="address" value=""></p>
            <p class="required">State Retails Store: 
                <select name="cmbstate" id="cmbstate">
                    <option value=""></option>
                    <option value="AL">Alabama</option>
                    <option value="AK">Alaska</option>
                    <option value="AZ">Arizona</option>
                    <option value="AR">Arkansas</option>
                    <option value="CA">California</option>
                    <option value="CO">Colorado</option>
                    <option value="CT">Connecticut</option>
                    <option value="DC">District of Columbia</option>
                    <option value="DE">Delaware</option>
                    <option value="FL">Florida</option>
                    <option value="GA">Georgia</option>
                    <option value="HI">Hawaii</option>
                    <option value="ID">Idaho</option>
                    <option value="IL">Illinois</option>
                    <option value="IN">Indiana</option>
                    <option value="IA">Iowa</option>
                    <option value="KS">Kansas</option>
                    <option value="KY">Kentucky</option>
                    <option value="LA">Louisiana</option>
                    <option value="ME">Maine</option>
                    <option value="MD">Maryland</option>
                    <option value="MA">Massachusetts</option>
                    <option value="MI">Michigan</option>
                    <option value="MN">Minnesota</option>
                    <option value="MS">Mississippi</option>
                    <option value="MO">Missouri</option>
                    <option value="MT">Montana</option>
                    <option value="NE">Nebraska</option>
                    <option value="NV">Nevada</option>
                    <option value="NH">New Hampshire</option>
                    <option value="NJ">New Jersey</option>
                    <option value="NM">New Mexico</option>
                    <option value="NY">New York</option>
                    <option value="NC">North Carolina</option>
                    <option value="ND">North Dakota</option>
                    <option value="OH">Ohio</option>
                    <option value="OK">Oklahoma</option>
                    <option value="OR">Oregon</option>
                    <option value="PA">Pennsylvania</option>
                    <option value="RI">Rhode Island</option>
                    <option value="SC">South Carolina</option>
                    <option value="SD">South Dakota</option>
                    <option value="TN">Tennessee</option>
                    <option value="TX">Texas</option>
                    <option value="UT">Utah</option>
                    <option value="VT">Vermont</option>
                    <option value="VA">Virginia</option>
                    <option value="WA">Washington</option>
                    <option value="WV">West Virginia</option>
                    <option value="WI">Wisconsin</option>
                    <option value="WY">Wyoming</option>
                </select>
            </p>
            <p class="required">City Retails Store: <input type="text" name="city" value=""></p>
            <p class="required">Zip Retails Store: <input type="text" name="zip" value=""></p>
            <p class="required">Phone Retails Store : <input type="text" name="phone" value=""></p>
            <input name="btnmoreform" type="submit" value="more address retails store">
            <br><br>
            <p>Agency Rate: <input type="text" name="rateagency" value=""></p>
            <p>Total Agency Income: <input type="text" name="incomeagency" value=""></p>
            <p>Client Incentive:
                <select name="clientincentive">
                    <option value=""></option>
                    <option value="1">25%</option>
                    <option value="2">50%</option>
                    <option value="3">75%</option>
                    <option value="4">100%</option>
                </select>
            </p>
            <p class="required">Booking Deadline 25%: <input type="text" name="book25" value="YYYY-MM-DD"></p>
            <p class="required">Booking Deadline 50%: <input type="text" name="book50" value="YYYY-MM-DD"></p>
            <p class="required">Booking Deadline 75%: <input type="text" name="book75" value="YYYY-MM-DD"></p>
            <p class="required">Booking Deadline 100%: <input type="text" name="book100" value="YYYY-MM-DD"></p>
            <br>
            <p>Target Demographic: <input type="text" name="target" value=""></p>
            <p>Supplies Requided: <input type="text" name="supplies" value=""></p>
            <p>Taining Requeriments: <input type="text" name="training" value=""></p>
            <br>
            <p>Require Talent Profile:</p>
            <p>Range Age: 
            <select name="agerangetop">
                <option value=""></option>
            <? for ($i=1;$i<=80;$i++){?>
                <option value="<? echo $i;?>"> <? echo $i;?> </option>
            <?}?>
            </select>
            to 
            <select name="agerangebottom">
                <option value=""></option>
            <? for ($i=1;$i<=80;$i++){?>
                <option value="<? echo $i;?>"> <? echo $i;?> </option>
            <?}?>
            </select>
            </p>
            <p>
            Experience Required:
            <select name="experience">
                <option value=""></option>
                <option value="1">No Experience</option>
                <option value="2">Some Exoerience</option>
                <option value="3">Experienced</option>
                <option value="4">Very Experienced</option>
                <option value="5">Advanced</option>
            </select>
            </p>
            <p>
            Gender:
                <input type="checkbox" value="1" name="male"> Male <input type="checkbox" value="1" name="famale"> Female
            </p>
            <p>Model: <input type="text" name="model" value=""></p>
            <p>Misc 1: <input type="text" name="misc1" value=""></p>
            <p>Misc 2: <input type="text" name="misc2" value=""></p>
            <br>
            <input name="btnnewevent" type="submit" value="submit">
        </form>
    <?
}// fin funcion fomr_new_event.
y la funcion que muestra los locales es esta:
Código PHP:
function locations($store){
        if (!
$store==""){
            
$sql="select * from locations where store_id=$store";
            
$result=mysql_query($sql);
            
$row=mysql_fetch_array($result);
            
$store=mysql_fetch_row($result);
            if (
$store==0){
                echo 
"no hay datos";
            }
            else{
                echo 
$row[name];
            }
        }
    }
// fin funcion locations 
y mi archivo a parte tiene esto para ir llamando a las funciones del archivo:
Código PHP:
if ($_POST['btnnewformevent']){
        
form_new_event();
    }
    else{
        if (
$_POST['btnnewevent']){
            
new_event();
        }
        else{
            if (
$_POST['btnmoreform']){
                
form_more_retails();
            }
            else{
                if (
$_POST['btnmore']){
                    
more_retails();
                }
                else{
                    if (
$_POST['btnstoreform']){
                    
new_store_form();
                    }
                    else{
                        if (
$_POST['btnstore']){
                            
new_store();
                        }
                        else{
                            
principal();
                        }
                    }    
                }
            }
        }
    
    } 
como puedo hacer que funcione se que es algo del onchange pero no se como llamar a mi funcion locations, saludos
  #2 (permalink)  
Antiguo 09/04/2008, 17:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: lista desplegable y llamado a funcion

Código PHP:
onChange="submit(locations)" 
Esto va mal... si quieres que funcione se le llama JavaScript:

Código PHP:
onChange="this.form.submit()" 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:40.