Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] un select que varia:

Estas en el tema de un select que varia: en el foro de PHP en Foros del Web. hola seguimos con los problemas en webservice: tengo un formulario que ataca un webservice @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original if (is_array($incidencias)) /*  echo '<div ...
  #1 (permalink)  
Antiguo 19/11/2015, 08:52
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
un select que varia:

hola seguimos con los problemas en webservice:
tengo un formulario que ataca un webservice
Código PHP:
Ver original
  1. if (is_array($incidencias))
  2. /*  echo '<div class="modal-content">';
  3.  
  4.  */
  5.  
  6.     echo '<div class="modal-header">';
  7.     echo    '<button type="button" class="close" data-dismiss="modal">&times;</button>';
  8.     echo    '<h4 class="modal-title">Seleccione Contrato</h4>';
  9.     echo  '</div>';
  10.    
  11. {  
  12.     echo '<div class="modal-body">';  
  13.     echo    '<form  name="formcontract" method="post" action="mira.php" clas="form-horizontal">';
  14.     echo    '<div class="form-group">';
  15.     echo        '<label class="col-sm-3 control-label" for="formGroup" id="contract">Contratos</label>';
  16.    
  17.     echo        '<div class="input-group col-sm-5">';
  18.     echo        '<span class="input-group-addon"><span class="glyphicon glyphicon-list-alt"></span></span>';   
  19.     echo        '<select  name="contrato" class="selectboxit" onchange="mostrarValor(this);">';
  20.     foreach($incidencias as $cust)
  21.     {
  22.        
  23.             echo '<option value="'.$cust->Cdad_disponible.' T de'.$cust->NombreProducto.';">'.$cust->Num_contrato.''.$cust->Num_distribucion.'</option>';
  24.        
  25.     }
  26.             echo '<option selected="disabled">Selecciona un Contrato</option>';
  27.             echo '</select>';
  28.     echo '</div>';
  29.     echo '</div>';
  30.    
  31.     echo '<div class="col-xs-4">';
  32.     echo '<input type="text" class="form-control"  size="5" name="cupo" id="cupo" disabled/>';
  33.  
  34.     echo '</div>';
  35.     echo '</div>';
  36.     echo '</div>';
  37.     echo '<div class="col-sm-12">&nbsp;</div>';
  38.     echo '<div class="col-sm-12">&nbsp;</div>';
  39.     echo '<div class="col-sm-12">&nbsp;</div>';
  40.    
  41.     /* echo  "Toneladas de "; */
  42. ?>
  43. <link rel="stylesheet" href="assets/css/font-icons/font-awesome/css/font-awesome.min.css"> 
  44. <?php
  45.  
  46.  
  47. echo '<div class="modal-header">
  48.  
  49.  
  50.         <h4 class="modal-title">Autorización de Matrículas</h4>
  51.     </div>
  52. <div class="col-sm-2">&nbsp;</div>
  53. <div class="col-sm-3">&nbsp;</div>
  54.  
  55. <div class="modal-body">
  56.             <form name="formcontract" method="post" action="mira.php" class="form-horizontal">
  57.      
  58.                     <div class="form-group">
  59.                             <label class="col-sm-3 control-label" for="formGroup">Matrícula</label>
  60.                               <div class="input-group col-sm-5">
  61.                                 <span class="input-group-addon"><span class="fa fa-keyboard-o"></span></span>
  62.                               <input class="form-control" type="text" name="matricula"id="formGroup" placeholder="AAA1234">
  63.                              
  64.                             </div>
  65.                         </div> 
  66. <div class="col-sm-12">&nbsp;</div>
  67. <div class="col-sm-12">&nbsp;</div>
  68.                     <div class="form-group">
  69.                             <label class="col-sm-3 control-label" for="formGroup">Matrícula Remolque</label>
  70.                               <div class="input-group col-sm-5">
  71.                                 <span class="input-group-addon"><span class="fa fa-keyboard-o"></span></span>
  72.                               <input class="form-control" type="text" name="matricular"id="formGroup" placeholder="AAA1234">
  73.                              
  74.                             </div>
  75.                           </div>   
  76. <div class="col-sm-12">&nbsp;</div>
  77. <div class="col-sm-12">&nbsp;</div>                    
  78.                     <div class="form-group">
  79.                             <label class="col-sm-3 control-label" for="formGroup">Identificación Chofer</label>
  80.                               <div class="input-group col-sm-5">
  81.                             <span class="input-group-addon"><span class="fa fa-credit-card"></span></span>
  82.                               <input class="form-control" type="text" name="dni" "id="formGroup" placeholder="DNI o PASAPORTE  ">
  83.                                 </div>
  84.                         </div>
  85. <div class="col-sm-12">&nbsp;</div>
  86. <div class="col-sm-12">&nbsp;</div>                                
  87.                     <div class="form-group">
  88.                             <label class="col-sm-3 control-label" for="formGroup">Chofer</label>
  89.                               <div class="input-group col-sm-5">
  90.                             <span class="input-group-addon"><span class="entypo-user"></span></span>
  91.                               <input class="form-control" type="text" name="xofer" id="formGroup" placeholder="Nombre y Apellido">
  92.                                 </div>
  93.                         </div>
  94. <div class="col-sm-12">&nbsp;</div>
  95. <div class="col-sm-12">&nbsp;</div>
  96.     <div class="form-group">
  97.                             <label class="col-sm-3 control-label" for="formGroup">P.M.A</label>
  98.                               <div class="input-group col-sm-5">
  99.                             <span class="input-group-addon"><span class="entypo-download"></span></span>
  100.                               <select name="pma" class="selectboxit">
  101.                               <option>40.800</option>
  102.                               <option>41.000</option>
  103.                               <option>44.000</option>
  104.                               </select>
  105.                            
  106.                              
  107.                                 </div>
  108.                         </div>
  109.  
  110.                                 </div>
  111.         <div class="modal-footer">
  112.        <button class="btn btn-success" data-dismiss="modal">Ok</button>
  113.        
  114.                                
  115.                             </div>
  116. </form>';    
  117.  
  118.    
  119. }
  120.     $nopera = $cust->Num_operacion;
  121.     $distventa = $cust->Num_dist_venta;
  122.     $distribucion = $cust->Num_distribucion;
  123.     $numproduct = $cust->Num_producto;
  124.     $product = $cust->NombreProducto;
  125.     $nuclienvendedor = $cust->Num_cliente_vendedor;
  126.     $noclienvendedor = $cust->NombreClienteVendedor;
  127.     $ncontrato = $cust->Num_contrato;
  128.     $cupos = $cust->Cdad_disponible;
  129.     $lineaopera = $cust->Num_linea_operacion;
  130.    
  131. $_SESSION['Num_linea_operacion'] = $lineaopera;
  132. $_SESSION['Cdad_disponible'] = $cupos;
  133. $_SESSION['Num_contrato'] = $ncontrato;
  134. $_SESSION['NombreClienteVendedor'] = $noclienvendedor;
  135. $_SESSION['Num_cliente_vendedor'] = $nuclienvendedor;
  136. $_SESSION['NombreProducto'] = $product;
  137. $_SESSION['Num_producto'] = $numproduct;
  138. $_SESSION['Num_distribucion'] = $distribucion;
  139. $_SESSION['Num_dist_venta'] = $distventa;
  140. $_SESSION['Num_operacion'] = $nopera;
  141.  
  142.  
  143. ?>
  144. <script>
  145. var mostrarValor = function(x){
  146.             document.getElementById('cupo').value=x.value;
  147.             }
  148. </script>
  149. <script>
  150. var mostrarValor2 = function(x){
  151.             document.getElementById('cupo').value=x.value;
  152.             }
  153. </script>
  154.  
  155.  
  156. <?
  157. $matricula  =  $_POST['matricula'];
  158. $matricular  =  $_POST['matricular'];
  159. $dni  =  $_POST['dni'];
  160. $xofer  =  $_POST['xofer'];
  161. $ncontratos  =  $POST[$ncontrato];
  162.  
  163. die();
  164. ?>

cuando le doy al submit se aplica lo siguiente:
Código PHP:
Ver original
  1. <?php
  2.     if (!isset($_SESSION)) {
  3.       session_start();
  4.     }
  5.     IF (!ISSET($_SESSION['user'])) HEADER("Location:extra-login.html");
  6. $user = $_SESSION['numcliente'];
  7.  $lineaopera = $_SESSION['Num_linea_operacion'];
  8.  $cupos = $_SESSION['Cdad_disponible'] ;
  9.  $ncontrato = $_SESSION['Num_contrato'] ;
  10.  $noclienvendedor = $_SESSION['NombreClienteVendedor'] ;
  11.  $nuclienvendedor = $_SESSION['Num_cliente_vendedor'] ;
  12.  $product = $_SESSION['NombreProducto'] ;
  13.  $numproduct = $_SESSION['Num_producto'] ;
  14.  $distribucion = $_SESSION['Num_distribucion'] ;
  15.  $distventa = $_SESSION['Num_dist_venta'] ;
  16.  $nopera = $_SESSION['Num_operacion'] ;
  17.    
  18.    
  19.    
  20.     echo $lineaopera;
  21.     echo $cupos;
  22.     echo $noclienvendedor;
  23.     echo $nopera;
  24.     echo $distribucion;
  25.     echo "|||||";
  26.     echo '<br>';
  27.     echo $ncontrato;
  28.     echo '<br>';
  29.    
  30.     echo $_POST['contrato'];
  31.     echo '<br>';
  32.     echo  $_POST['matricula'];
  33.     echo '<br>';
  34.     echo $_POST['matricular'];
  35.     echo '<br>';
  36.     echo $_POST['dni'];
  37.     echo '<br>';
  38.     echo $_POST['xofer'];
  39.     echo '<br>';
  40.     echo $_POST['pma'];
  41.     echo '<br>';
  42.    
  43.  
  44.     ?>

el problema es que lo que hay en el select "$ncontrato" siempre me pinta el ultimo de la lista

Alguien sabe porque???
  #2 (permalink)  
Antiguo 19/11/2015, 08:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: un select que varia:

Te toma siempre el último valor porque estás forzando con "selected" el último <option> de dicho <select> y eso es incorrecto.

¿No tienes que usar disabled="disabled" en lugar de selected="disabled" o sí sabes lo que eso produce?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/11/2015, 08:59
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: un select que varia:

BUeno el selected es para que cuando alguien acceda al formulario se le muestre por defecto "Seleccione un contrato"
Segun lo que tu me dices que tendria que ser asi???:
Código HTML:
Ver original
  1. echo        '<div class="input-group col-sm-5">';
  2.     echo        '<span class="input-group-addon"><span class="glyphicon glyphicon-list-alt"></span></span>';   
  3.     echo        '<select  name="contrato" class="selectboxit" onchange="mostrarValor(this);">';
  4.     foreach($incidencias as $cust)
  5.     {
  6.        
  7.             echo '<option value="'.$cust->Cdad_disponible.' T de'.$cust->NombreProducto.';">'.$cust->Num_contrato.''.$cust->Num_distribucion.'</option>';
  8.        
  9.     }
  10.             echo '<option disabled="disabled">Selecciona un Contrato</option>';
  11.             echo '</select>';

Porque eso me deja desactivado el "seleccione un contrato" y por defecto me muestra en el select el primer contrato
  #4 (permalink)  
Antiguo 19/11/2015, 09:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: un select que varia:

El <select> siempre te va a mostrar seleccionado cualquier <option> que sea "selected", y si ninguno está marcado así entonces siempre mostrará el primero como seleccionado.

¿Por qué no sencillamente mueves dicha opción al inicio del <select> para que se pre-seleccione?

Cita:
Porque eso me deja desactivado el "seleccione un contrato" y por defecto me muestra en el select el primer contrato
Y eso es un problema de UI/UX que deberías resolver correctamente, si dicha opción sólo es una "ayuda visual" entonces no debería ir ahí: no es realmente una opción.

¿Conoces las etiquetas <label> y entiendes cual es su objetivo?

Código HTML:
Ver original
  1.   Selecciona un contrato:
  2.   <select> ... </select>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/11/2015, 09:04
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: un select que varia:

asi lo he echo :
Código HTML:
Ver original
  1. echo        '<div class="input-group col-sm-5">';
  2.     echo        '<span class="input-group-addon"><span class="glyphicon glyphicon-list-alt"></span></span>';   
  3.     echo        '<select  name="contrato" class="selectboxit" onchange="mostrarValor(this);">';
  4.     echo '<option selected="disabled">Selecciona un Contrato</option>';
  5.     foreach($incidencias as $cust)
  6.     {
  7.        
  8.             echo '<option value="'.$cust->Cdad_disponible.' T de'.$cust->NombreProducto.';">'.$cust->Num_contrato.''.$cust->Num_distribucion.'</option>';
  9.        
  10.     }
  11.            
  12.             echo '</select>';
  13.     echo '</div>';
  14.     echo '</div>';

pero el submit m sigue cogiendo el ultimo contrato del select
  #6 (permalink)  
Antiguo 19/11/2015, 09:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: un select que varia:

Cita:
pero el submit m sigue cogiendo el ultimo contrato del select
Primero elimina el selected="disabled" que sólo causa ruido.

Ahora, en un formulario sin Javascript eso no pasaría, carece de sentido.

¿No será que tu función que ejecutas en "onchange" estará arruinando el formulario?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 19/11/2015, 09:14
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: un select que varia:

[HIGHLIGHT="Javascript"]<script>
var mostrarValor = function(x){
document.getElementById('cupo').value=x.value;
}
</script>
<script>
var mostrarValor2 = function(x){
document.getElementById('cupo').value=x.value;
}
</script>[/HIGHLIGHT

Este script lo que hace es que cuando seleccionas el una opcion del select te pinta en un input la cantidad disponible de dicha opcion.
[IMG]
share image[/IMG]
  #8 (permalink)  
Antiguo 19/11/2015, 09:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: un select que varia:

Vale, ahora entiendo mejor.

¿Sabes inspeccionar las peticiones hechas por tu navegador en la consulta de tu navegador?

Yo buscaría en la parte de red exactamente qué datos estás enviando, por lo que muestras es extraño que siempre mande la última opción.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 19/11/2015, 09:21
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: un select que varia:

te refieres al inspeccionar elemento del chrome
donde lo tengo que ejecutar en la pagina de respuesta del formulario:
[IMG]
sube fotos[/IMG]
  #10 (permalink)  
Antiguo 19/11/2015, 09:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: un select que varia:

Sí claro, ese inspector.

Pero debes inspeccionar precisamente cuando envías el primero formulario que contiene dichas opciones para ver qué es lo que sucede.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 19/11/2015, 09:26
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: un select que varia:

yo lo miro y la verdad que cuando esta en el formulario sale una lista de todos los scripts que utiliza:


pero cuando le doy al boton se vuelve todo blanco como en la imagen anterirormente mostrada

Última edición por javierconesa23; 24/11/2015 a las 13:33

Etiquetas: formulario, html, select
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 19:10.