Foros del Web » Programando para Internet » Javascript »

select que actualiza 2 type='text'

Estas en el tema de select que actualiza 2 type='text' en el foro de Javascript en Foros del Web. Hola a todos; necesitaria saber como actualizar un campo segun el valor de un select, lo que quiero hacer es que cuando marque un valor ...
  #1 (permalink)  
Antiguo 21/02/2012, 10:57
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 5 meses
Puntos: 1
select que actualiza 2 type='text'

Hola a todos;
necesitaria saber como actualizar un campo segun el valor de un select, lo que quiero hacer es que cuando marque un valor de un selec que contiene 'n' valores automaticamente me introcuzca un valor en un campo. Los campos, tanto del select como del campo estan en la misma tabla y en el mismo registro.
es decir:
tabla:curso
campos:id_curso,fechacurso,nombre_corto,cupos ...

el combo lo lleno de esta forma y guardo el item del combo, los input=text solo deveria mostrar valores de la fila

Código PHP:
Ver original
  1. <tr>
  2.       <td width="50%" align="right" nowrap="nowrap">Curso <span class="campo_obligatorio">*</span></td>
  3.       <td nowrap="nowrap"><select name="curso" id="curso">
  4.           <option value="-1">- Seleccione - </option>
  5.           <?php
  6.         $sel_curso = "SELECT * FROM curso WHERE estado = 1";
  7.         $res_curso = mysql_query($sel_curso, $link);
  8.         while($db_curso = mysql_fetch_array($res_curso)){
  9.                 $cupos = 0;
  10.                 $sel_cur = "SELECT * FROM curso WHERE id_curso = '".$db_curso["id_curso"]."'";
  11.                 $res_cur = mysql_query($sel_cur, $link);
  12.                 $db_cur = mysql_fetch_array($res_cur);
  13.                 $cupos = $db_cur["cupos"];
  14.                
  15.                 $inscritos = 0;
  16.                 $sel_ins = "SELECT DISTINCT COUNT(rut) as insc FROM inscrito WHERE id_curso = '".$db_curso["id_curso"]."'";
  17.                 $res_ins = mysql_query($sel_ins , $link);
  18.                 $db_ins = mysql_fetch_array($res_ins);
  19.                 $inscritos = $db_ins["insc"];
  20.                
  21.                 if($cupos > $inscritos){
  22.                     echo '<option value="'.$db_curso["id_curso"].'">'.$db_curso["nombre_corto"].'</option>';
  23.                 }else{
  24.                     echo '<option value="99">[SIN CUPOS] '.$db_curso["nombre_corto"].'</option>';
  25.                 }      
  26.         }
  27.     ?>
  28.       </select></td>
  29.     </tr>
  #2 (permalink)  
Antiguo 21/02/2012, 13:33
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: select que actualiza 2 type='text'

a campo te refieres a un atributo de la tabla??? o lo que quieres es que inserte un registro o tupla??? (lo segundo me suena más lógico),

ahora cualquiera de los dos casos necesitas ya sea hacerlo con ajax o desde una forma para que envies los datos al servidor para que procese tu solicitud, recuerda que js vive en el cliente y php en el server.

Saludos.
__________________
Born to be free.
  #3 (permalink)  
Antiguo 21/02/2012, 19:18
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: select que actualiza 2 type='text'

Código Javascript:
Ver original
  1. function cargaPrecio(IdSelect){
  2.             document.form_a.txtinicio.value = IdSelect.substring(11,22);
  3.             document.form_a.txtvalor.value = parseFloat(IdSelect.substring(1,11));
  4.             document.form_a.txtf.value = ?????;
  5.             return;
  6.         }
este el el java script que me funciona bien para campos del tipo entero , pero nose como programar para campos tipo fecha o date por eso lo pongo con ???
  #4 (permalink)  
Antiguo 21/02/2012, 19:41
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: select que actualiza 2 type='text'

complementando con el otro post que pusiste, lo que necesitas es que en el value del option elijas un separador para que te quede mas o menos de la siguiente forma


valor|fecha

Código Javascript:
Ver original
  1. function f_llenaTxt(slct){
  2.       document.getElementById("txt_valor").value = slct.options[slect.selectedIndex].value.split("|")[0];
  3.       document.getElementById("txt_fecha").value = slct.options[slect.selectedIndex].value.split("|")[1];
  4.       document.getElementById("txt_desc").value =slct.options[slect.selectedIndex].text
  5. }
  6.  
  7. <select  onchange="f_llenaTxt(this);">
  8.      <option value="1|01/09/2012">opcion1</option>  // esta estructura la generarias desde php
  9.      <option value="1|05/08/2012">opcion2</option>
  10. </select>
  11. <input type="text" id="txt_valor">
  12. <input type="text" id="txt_desc">
  13. <input type="text" id="txt_fecha">

Saludos.
__________________
Born to be free.

Última edición por goteen_mx; 21/02/2012 a las 19:50
  #5 (permalink)  
Antiguo 21/02/2012, 20:21
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: select que actualiza 2 type='text'

OK .
pero un detalle como esta lineas arriba stos datos lo leo de una tabla, en tu ejemplo pones en el option value el dato fecha directamente en mi caso no es asi, tengo que leerlo de la tabla curso con $db_curso
  #6 (permalink)  
Antiguo 21/02/2012, 21:06
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: select que actualiza 2 type='text'

echo '<option value="'.$db_curso["id_curso"].'|'. $db_curso["fecha_curso"].">'.$db_curso["nombre_corto"].'</option>';


por eso te puse // esta estructura la tienes que generar desde php

Saludos
__________________
Born to be free.
  #7 (permalink)  
Antiguo 22/02/2012, 07:43
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: select que actualiza 2 type='text'

gracias lo hice de esta forma y me salio bien como queria al seleccionar cualquier item del combo actualiza a los txt la fecha de curso y el valor del mismo justo lo que buscaba ..ahora al momento de hacer click en el boton guardar me dice que no puedo guardar porque no hay cupos..
""No hay cupos disponibles en este curso, Operación Cancelada";"

Código Javascript:
Ver original
  1. function cargatxt(IdSelect){
  2.             document.form_a.txtinicio.value = IdSelect.substring(11,22);
  3.             document.form_a.txtvalor.value = parseFloat(IdSelect.substring(1,11));
  4.             return;
  5.         }

Código PHP:
Ver original
  1. <tr>
  2.       <td style="color:#b2030b" width="50%" align="right" nowrap="nowrap">Curso <span class="campo_obligatorio">*</span></td>
  3.       <td nowrap="nowrap">
  4.         <select name="cursos" id="cursos" style="width:180px" onChange="javascript:cargatxt(this.value);">
  5.           <option value="-1" selected="selected">- Seleccione - </option>
  6.            <?php
  7.            $sql_producto = "SELECT id_curso,nombre_corto,f_inicio,valor FROM curso ORDER BY nombre_corto";
  8.            $sql_result_producto = mysql_query($sql_producto, $link);
  9.             while($row_prod = mysql_fetch_array($sql_result_producto)){?>
  10.              <option value="<?php echo str_pad($row_prod['valor'],11,'0',STR_PAD_LEFT).$row_prod['f_inicio'];?>"><?php echo $row_prod['nombre_corto'];?></option>
  11.             <?php }?>
  12.         </select>
  13.       </td>
  14.     </tr>
  15.     <tr>
  16.         <td style="color:#b2030b" width="50%" align="right" nowrap="nowrap"><i>Fecha del Curso</i> </td>
  17.         <td>
  18.         <input name='txtinicio' type='text' id='txtinicio' value='' size="15" readonly="readonly">
  19.         </td>
  20.     </tr>
  21.     <tr>
  22.         <td style="color:#b2030b" width="50%" align="right" nowrap="nowrap"><i>Valor</i></td>
  23.         <td>
  24.         <input name='txtvalor' type='text' id='txtvalor' value='' size="15" readonly="readonly">
  25.         </td>
  26.     </tr>

al hacer click en guardar levanta este .php que contiene el mensaje predefinido "No hay cupos disponibles en este curso, Operación Cancelada";
proceso.php
Código PHP:
Ver original
  1. .....
  2. $cupos = 0;
  3.             $sel_curso = "SELECT * FROM curso WHERE id_curso = '".$var_curso."'";
  4.             $res_curso = mysql_query($sel_curso, $link);
  5.             $db_curso = mysql_fetch_array($res_curso);
  6.             $cupos = $db_curso["cupos"];
  7.            
  8.             $inscritos = 0;
  9.             $sel_ins = "SELECT DISTINCT COUNT(rut) as insc FROM inscrito WHERE id_curso = '".$var_curso."'";
  10.             $res_ins = mysql_query($sel_ins , $link);
  11.             $db_ins = mysql_fetch_array($res_ins);
  12.             $inscritos = $db_ins["insc"];
  13.            
  14.             if($cupos > $inscritos){
  15.                             ... (insert into ....)
  16.                          }else{
  17.                          $mensaje = "No hay cupos disponibles en este curso, Operación Cancelada";
  18.                          }

Etiquetas: input, php, select, actualizar
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 15:34.