Foros del Web » Programando para Internet » Javascript »

onchange en input que cambia solo

Estas en el tema de onchange en input que cambia solo en el foro de Javascript en Foros del Web. Hola, la cuestión es que tengo un formulario que se rellena como si de una BD se tratase, es decir, hay botones que te llevan ...
  #1 (permalink)  
Antiguo 24/04/2014, 16:35
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
onchange en input que cambia solo

Hola, la cuestión es que tengo un formulario que se rellena como si de una BD se tratase, es decir, hay botones que te llevan de un registro a otro. La cosa es que este formulario rellena un input de otro formulario. La pregunta es: ¿como detecto que se ha llenado ese input? Y, ¿si al cambiar de registro el input se llena con el mismo número también detectaría que se ha llenado?
He probado con onchange pero no funciona; parece ser que solo funciona cuando se hace manualmente.
Gracias
  #2 (permalink)  
Antiguo 24/04/2014, 19:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: onchange en input que cambia solo

Podrías hacer lo que buscas en la misma función que asigna un valor al input.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 25/04/2014, 05:04
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

no se puede hacer eso porque la funcion de rellenar el formulario pide por parametros el formulario a rellenar. Resumen: no puedo xD
  #4 (permalink)  
Antiguo 25/04/2014, 11:31
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: onchange en input que cambia solo

¿Y eso qué tiene que ver? A ver, si en esa función asignas el valor al input, quiere decir que sí puedes manipularlo, entonces, al asignarle un valor, produces un cambio en él, por lo tanto, es ahí en donde debes de realizar las acciones que deseas.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 25/04/2014, 11:51
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Hazme caso que no se puede. Por motivos muy largos de explicar. Supongamos que no se pudiese... como lo harías? También he probado con oninput pero no me vale porque detecta cualquier input/textarea.
  #6 (permalink)  
Antiguo 25/04/2014, 12:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: onchange en input que cambia solo

Nunca digas "no se puede", pues para todo hay una solución, solo es cuestión de pensar y pensar hasta hallar la solución que resuelva el problema. A ver, muéstranos el código de la famosa función por la que, según tú, no se puede hacer eso.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 25/04/2014, 12:43
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Código Javascript:
Ver original
  1. function campos(res,formulario,caso,codigos) {
  2.     if(!nuevo_reg && !editar_reg && !ver_tabla) {
  3.         var form=$("formulario_"+formulario); //Busca el formulario desde el que ha sido llamado
  4.  
  5.         if(!busq) { //busq es false si no se llama a esta funcion desde el cuadro de búsqueda
  6.             switch(caso) {
  7.                 case 0: //Anterior
  8.                     index--; //Resta uno al índice anterior
  9.                 break;
  10.                 case 1: //Siguiente
  11.                     index++; //Añade uno al índice anterior
  12.                 break;
  13.                 case 2: //Primero
  14.                     index=0; //Iguala el índice a 0 que es el primer registro
  15.                 break;
  16.                 case 3: //Ultimo
  17.                     index=res.length-1; //Iguala el índice a la cantidad de resultados menos 1 ya que el length empieza en 1 y no 0
  18.                 break;
  19.                 default: //Por defecto
  20.                     index=res.length-1; //Que muestre el último registro
  21.                 break;
  22.             }          
  23.             if(index<0) { //Significa que es el primer registro a mostrar
  24.                 alert('¡Ya es el primer registro!'); //Salta una advertencia y se suma el índice para la próxima búsqueda
  25.                 index++;
  26.             } else {
  27.                 if(index>=res.length) { //Significa que es el último registro
  28.                     alert('¡Ya es el último registro!'); //Salta una advertencia y se resta el índice para la próxima búsqueda
  29.                     index--;
  30.                 } else { //Si no da ningun error hace la búsqueda del registro correspondiente al índice para mostrarlo y desactiva los campos por si acaso
  31.                     for (i=0; i<form.elements.length; i++) { //Form.elements=cantidad de elementos dentro del form
  32.                         if(form.elements[i].type=='text' || form.elements[i].type=='textarea') { //Para que solo afecte a aquellos elementos que sean inputs o textarea
  33.                             id=form.elements[i].id.split("_");
  34.  
  35.                             form.elements[i].value=res[index][id[id.length-1]]; //Mete en el elemento i el valor que le corresponde del registro
  36.                             form.elements[i].disabled=true; //Desactiva el elemento i por si acaso
  37.                         }
  38.                     }
  39.                     //llenartabla(formulario,res,busq,indices);
  40.                 }          
  41.             }
  42.         }
  43.         else { //si se le llama desde el cuadro de búsqueda...
  44.             switch(caso) {
  45.                 case 0: //Anterior
  46.                     for(i=0; i<indices.length; i++) {
  47.                         if((index-1)==indices[i]) { //Si existe el indice en el cjto de los indices
  48.                             index--; //Resta uno al índice anterior
  49.                             break;
  50.                         }
  51.                     }
  52.                 break;
  53.                 case 1: //Siguiente
  54.                     for(i=0; i<indices.length; i++) {
  55.                         if((index+1)==indices[i]){ //Si existe el indice en el cjto de los indices 
  56.                             index++; //Añade uno al índice anterior
  57.                             break;
  58.                         }
  59.                     }
  60.                 break;
  61.                 case 2: //Primero
  62.                     index=indices[0]; //Iguala el índice a 0 que es el primer registro
  63.                 break;
  64.                 case 3: //Ultimo
  65.                     index=indices[indices.length-1]; //Iguala el índice a la cantidad de resultados menos 1 ya que el length empieza en 1 y no 0
  66.                 break;
  67.                 default: //Por defecto
  68.                     index=indices[indices.length-1]; //Que muestre el último registro
  69.                 break;
  70.             }
  71.             for (i=0; i<form.elements.length; i++) { //Form.elements=cantidad de elementos dentro del form
  72.                 if(form.elements[i].type=='text' || form.elements[i].type=='textarea') { //Para que solo afecte a aquellos elementos que sean inputs o textarea
  73.                     id=form.elements[i].id.split("_");
  74.                     form.elements[i].value=res[index][id[id.length-1]]; //Mete en el elemento i el valor que le corresponde del registro
  75.                     form.elements[i].disabled=true; //Desactiva el elemento i por si acaso
  76.                 }
  77.             }
  78.             //llenartabla(formulario,res,busq,indices);
  79.         }
  80.     }
  81. }
  #8 (permalink)  
Antiguo 25/04/2014, 12:44
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Código HTML:
Ver original
  1. <body onLoad="abrir('',true)">
  2. <button type="button" onClick="dragable('clientes_barra','clientes');abrir(clientes,false,'clientes');">Clientes</button>
  3. <button type="button" onClick="dragable('reparaciones_barra','reparaciones');abrir(reparaciones,false,'reparaciones');">Reparaciones</button>
  4.  
  5. <!--
  6. **********************************************************************************************************************************
  7. START DIV CLIENTES
  8. **********************************************************************************************************************************
  9. -->
  10.  
  11. <div id="clientes" class="clientes" style="position:absolute; top: 100px; left: 100px;">
  12.     <div id="clientes_barra" class="clientes_barra">
  13.         <div id="clientes_barra_izq" class="clientes_barra_izq">
  14.             <span style="display:table-cell; vertical-align:middle;">--Clientes--</span>
  15.         </div>
  16.         <div id="clientes_barra_cerrar" class="clientes_barra_cerrar" onClick="cerrar(clientes,'clientes')">
  17.             <img onMouseOver="this.src='../Recursos/Imagenes/Iconos/Delete/delete_2.png'" onMouseOut="this.src='../Recursos/Imagenes/Iconos/Delete/delete_1.png'" src="http://www.forosdelweb.com/f13/Recursos/Imagenes/Iconos/Delete/delete_1.png" style="cursor:pointer">
  18.         </div>
  19.     </div>
  20.     <div id="clientes_contenido" class="clientes_contenido">
  21.         <div id="clientes_contenido_navegacion" class="clientes_contenido_navegacion">
  22.             <ul class="nav">
  23.                 <li><a href="#" onClick="campos(clientes,'clientes',0)">Registro anterior</a></li>
  24.                 <li><a href="#" onClick="campos(clientes,'clientes',1)">Registro siguiente</a></li>
  25.                 <li><a href="#" onClick="campos(clientes,'clientes',2)">Primer registro</a></li>
  26.                 <li><a href="#" onClick="campos(clientes,'clientes',3)">Ultimo registro</a></li>
  27.                 <li><a href="#" onClick="nuevo(clientes,'formulario_clientes')">Nuevo registro</a></li>
  28.                 <li><a href="#" onClick="editar('formulario_clientes'); seleccionar();">Editar registro actual</a></li>
  29.                 <li><a href="#" onClick="borrar('formulario_clientes')">Borrar registro actual</a></li>
  30.                 <li><a href="#" onClick="tabla('clientes',false)">Vista Ficha</a></li>
  31.                 <li><a href="#" onClick="tabla('clientes',true)">Vista Tabla</a></li>
  32.             </ul>
  33.         </div>
  34.         <div id="clientes_contenido_principal" class="clientes_contenido_principal">
  35.             <div id="search_clientes" class="search">
  36.                 <form>
  37.                     <fieldset>
  38.                     <legend>Buscar</legend>
  39.                     <input type="hidden" id="searchhidden" value="clientes" name="searchhidden">
  40.                     <input type="text" list="datalist_codigo" name="searchinput" id="searchinput">
  41.                         <select id="select" name="select" onChange="change_search(this.value);">
  42.                             <?php
  43.                                 $sql="SELECT *
  44.                                     FROM clientes";
  45.  
  46.                                 $res=$db->query($sql);
  47.                                
  48.                                 $i=0;
  49.                                 unset($nombrecol);
  50.                                 $nombrecol=array();
  51.                                 while($infocol=mysqli_fetch_field($res)) {
  52.                                     $nombrecol[$i]=$infocol->name;
  53.                                     $i++;
  54.                                 }
  55.  
  56.                                 for($i=0;$i<count($nombrecol);$i++)
  57.                                     echo "<option value='".$nombrecol[$i]."'>".$nombrecol[$i]."</option>";
  58.                             ?>
  59.                         </select>
  60.                     <input type="button" onClick="busqueda(clientes,this.form.searchinput.value,this.form.searchhidden.value,this.form.select.value);" value="Buscar" id="enviar_busqueda">
  61.                         <?php
  62.                             $res=$db->query($sql);
  63.  
  64.                             //Start generating datalist
  65.                             $i=0;
  66.                             while($resultado=mysqli_fetch_assoc($res)) {
  67.                                
  68.                                 for($u=0;$u<count($nombrecol);$u++)
  69.                                     $datalist[$nombrecol[$u]][$i]=$resultado[$nombrecol[$u]];
  70.                                
  71.                                 $i++;
  72.                             }
  73.                             foreach($datalist as $key=>$datos) {
  74.                                 $d=array('NULL');
  75.                                 echo "<datalist id='datalist_".$key."'>";
  76.                                 foreach($datos as $data) {
  77.                                     for($i=0; $i<count($d);$i++) {
  78.                                         if($data==$d[$i]) {
  79.                                             $e=true;
  80.                                             break;
  81.                                         }
  82.                                         else $e=false;
  83.                                     }
  84.                                     if(!$e) {
  85.                                         echo "<option value='".$data."'>";
  86.                                         $d[]=$data;
  87.                                     }
  88.                                 }
  89.                                 echo "</datalist>";
  90.                             }
  91.                         //End generating datalist
  92.                         ?>
  93.                     </fieldset>
  94.                 </form>
  95.             </div>
  96.             <form class="formulario_clientes" id="formulario_clientes" method="post" onSubmit="insertar(this.id)">
  97.                 <fieldset id="fieldset">
  98.                     <label for="codigo">Codigo: </label><input name="codigo" id="formulario_clientes_codigo" value="" type="text" size="3" disabled required><br>
  99.                     <label for="nombre">Nombre: </label><input  name="nombre" id="formulario_clientes_nombre" value="" type="text" size="77" disabled required><br>
  100.                     <label for="domicilio">Domicilio: </label><input name="domicilio" id="formulario_clientes_domicilio" value="" size="77" type="text" disabled><br>
  101.                     <label for="cp">Código Postal: </label><input name="cp" id="formulario_clientes_cp" value="" size="5" type="text" disabled>
  102.                     <label for="ciudad" style="width:50px;">Ciudad: </label><input name="ciudad" id="formulario_clientes_ciudad" value="" type="text" disabled><br>
  103.                     <label for="provincia">Provincia: </label><input name="provincia" id="formulario_clientes_provincia" value="" size="77" type="text" disabled><br>
  104.                     <label for="dni">DNI: </label><input name="dni" id="formulario_clientes_dni" value="" size="10" type="text" disabled><br>
  105.                     <label for="telefono">Teléfono: </label><input name="telefono" id="formulario_clientes_telefono" value="" size="10" type="text" disabled>
  106.                     <label style="width:50px;" for="movil">Móvil: </label><input name="movil" id="formulario_clientes_movil" value="" size="10" type="text" disabled>
  107.                     <label style="width:50px;" for="fax">Fax: </label><input name="fax" id="formulario_clientes_fax" value="" size="10" type="text" disabled><br>
  108.                     <label for="email">Email: </label><input name="email" id="formulario_clientes_email" value="" size="77" type="text" disabled><br>
  109.                     <label for="observaciones">Observaciones: </label><textarea name="observaciones" id="formulario_clientes_observaciones" cols="59" disabled></textarea><br>
  110.                     <input type="hidden" value="clientes" name="campo_oculto_formulario_clientes" id="campo_oculto_formulario_clientes">
  111.                     <button id="boton_edita_formulario_clientes" style="margin-left:10px; display:none" type="submit">Modificar registro</button><button id="boton_envia_formulario_clientes" style="margin-left:10px; display:none" type="submit">Añadir cliente</button><button id="boton_cancela_formulario_clientes" style="margin-left:10px; display:none" onClick="cancelar(clientes,'clientes');" type="button">Cancelar</button>
  112.                 </fieldset>
  113.             </form>
  114.             <table id="tabla_clientes" class="tabla_clientes" cellspacing="0">
  115.                 <tr>
  116.                 <?php
  117.                     for($i=0; $i<count($nombrecol); $i++) {
  118.                         if($nombrecol[$i]=='nombre')
  119.                             echo "<th style='padding:5px; width:225px'>".strtoupper($nombrecol[$i])."</th>";
  120.                         else {
  121.                             if($nombrecol[$i]=='domicilio')
  122.                                 echo "<th style='padding:5px; width:250px'>".strtoupper($nombrecol[$i])."</th>";
  123.                             else {
  124.                                 if($nombrecol[$i]=='cp')
  125.                                     echo "<th style='padding:5px; width:50px'>".strtoupper($nombrecol[$i])."</th>";
  126.                                 else {
  127.                                     if($nombrecol[$i]=='email')
  128.                                         echo "<th style='padding:5px; width:150px'>".strtoupper($nombrecol[$i])."</th>";
  129.                                     else
  130.                                         echo "<th style='padding:5px; width:75px;'>".strtoupper($nombrecol[$i])."</th>";
  131.                                 }
  132.                             }
  133.                         }
  134.                     }
  135.                     echo "</tr>";
  136.                 ?>
  137.             </table>
  138.         </div>
  139.     </div>
  140. </div>
  141. <!--
  142. **********************************************************************************************************************************
  143. END DIV CLIENTES
  144. **********************************************************************************************************************************
  145. -->
  #9 (permalink)  
Antiguo 25/04/2014, 12:46
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Código HTML:
Ver original
  1. <!--
  2. **********************************************************************************************************************************
  3. START DIV REPARACIONES
  4. **********************************************************************************************************************************
  5. -->
  6.  
  7. <div id="reparaciones" class="reparaciones" style="position:absolute; top: 100px; left: 100px;">
  8.     <div id="reparaciones_barra" class="reparaciones_barra">
  9.         <div id="reparaciones_barra_izq" class="reparaciones_barra_izq">
  10.             <span style="display:table-cell; vertical-align:middle;">--Reparaciones--</span>
  11.         </div>
  12.         <div id="reparaciones_barra_cerrar" class="reparaciones_barra_cerrar" onClick="cerrar(reparaciones,'reparaciones')">
  13.             <img onMouseOver="this.src='../Recursos/Imagenes/Iconos/Delete/delete_2.png'" onMouseOut="this.src='../Recursos/Imagenes/Iconos/Delete/delete_1.png'" src="http://www.forosdelweb.com/f13/Recursos/Imagenes/Iconos/Delete/delete_1.png" style="cursor:pointer">
  14.         </div>
  15.     </div>
  16.     <div id="reparaciones_contenido" class="reparaciones_contenido">
  17.         <div id="reparaciones_contenido_navegacion" class="reparaciones_contenido_navegacion">
  18.             <ul class="nav">
  19.                 <li><a href="#" onClick="campos(reparaciones,'reparaciones',0)">Registro anterior</a></li>
  20.                 <li><a href="#" onClick="campos(reparaciones,'reparaciones',1)">Registro siguiente</a></li>
  21.                 <li><a href="#" onClick="campos(reparaciones,'reparaciones',2)">Primer registro</a></li>
  22.                 <li><a href="#" onClick="campos(reparaciones,'reparaciones',3)">Ultimo registro</a></li>
  23.                 <li><a href="#" onClick="nuevo(reparaciones,'formulario_reparaciones')">Nuevo registro</a></li>
  24.                 <li><a href="#" onClick="editar('formulario_reparaciones');">Editar registro actual</a></li>
  25.                 <li><a href="#" onClick="borrar('formulario_reparaciones')">Borrar registro actual</a></li>
  26.             <!--<li><a href="#" onClick="tabla('reparaciones',false)">Vista Ficha</a></li>
  27.                <li><a href="#" onClick="tabla('reparaciones',true)">Vista Tabla</a></li>-->
  28.             </ul>
  29.         </div>
  30.         <div id="reparaciones_contenido_principal" class="reparaciones_contenido_principal">
  31.             <div id="search_reparaciones" class="search">
  32.                 <form>
  33.                     <fieldset>
  34.                     <legend>Buscar</legend>
  35.                     <input type="hidden" id="searchhidden" value="clientes" name="searchhidden">
  36.                     <input type="text" list="datalist_codigo" name="searchinput" id="searchinput">
  37.                         <select id="select" name="select" onChange="change_search(this.value);">
  38.                             <?php
  39.                                 $sql="SELECT *
  40.                                     FROM reparaciones";
  41.  
  42.                                 $res=$db->query($sql);
  43.                                
  44.                                 $i=0;
  45.                                 while($infocol=mysqli_fetch_field($res)) {
  46.                                     $nombrecol[$i]=$infocol->name;
  47.                                     $i++;
  48.                                 }
  49.  
  50.                                 for($i=0;$i<count($nombrecol);$i++)
  51.                                     echo "<option value='".$nombrecol[$i]."'>".$nombrecol[$i]."</option>";
  52.                             ?>
  53.                         </select>
  54.                     <input type="button" onClick="busqueda(reparaciones,this.form.searchinput.value,this.form.searchhidden.value,this.form.select.value);" value="Buscar" id="enviar_busqueda">
  55.                         <?php
  56.                             $res=$db->query($sql);
  57.  
  58.                             //Start generating datalist
  59.                             $i=0;
  60.                             while($resultado=mysqli_fetch_assoc($res)) {
  61.                                
  62.                                 for($u=0;$u<count($nombrecol);$u++)
  63.                                     $datalist[$nombrecol[$u]][$i]=$resultado[$nombrecol[$u]];
  64.                                
  65.                                 $i++;
  66.                             }
  67.                             foreach($datalist as $key=>$datos) {
  68.                                 $d=array('NULL');
  69.                                 echo "<datalist id='datalist_".$key."'>";
  70.                                 foreach($datos as $data) {
  71.                                     for($i=0; $i<count($d);$i++) {
  72.                                         if($data==$d[$i]) {
  73.                                             $e=true;
  74.                                             break;
  75.                                         }
  76.                                         else $e=false;
  77.                                     }
  78.                                     if(!$e) {
  79.                                         echo "<option value='".$data."'>";
  80.                                         $d[]=$data;
  81.                                     }
  82.                                 }
  83.                                 echo "</datalist>";
  84.                             }
  85.                         //End generating datalist
  86.                         ?>
  87.                     </fieldset>
  88.                 </form>
  89.             </div>
  90.             <form class="formulario_reparaciones" id="formulario_reparaciones" method="post" onSubmit="insertar(this.id)">
  91.                 <fieldset>
  92.                     <div style="float:left; margin-top:35px;">
  93.                         <label for="resguardo">Resguardo: </label><input name="resguardo" id="formulario_reparaciones_resguardo" value="" type="text" size="3" disabled required><br>
  94.                         <label for="transporte">Transporte: </label><input name="transporte" size="62" id="formulario_reparaciones_transporte" value="" type="text" disabled><br>
  95.                         <label for="Aparato">Aparato: </label><input name="aparato" id="formulario_reparaciones_aparato" size="62" value=""  type="text" disabled><br>
  96.                         <label for="marca">Marca: </label><input name="marca" id="formulario_reparaciones_marca" size="62" value="" type="text" disabled><br>
  97.                         <label for="modelo">Modelo: </label><input name="modelo" id="formulario_reparaciones_modelo" size="62" value="" type="text" disabled><br>
  98.                         <label for="chasis">Nº Matrícula: </label><input name="chasis" size="62" id="formulario_reparaciones_chasis" size="62" value="" type="text" disabled><br>
  99.                         <label for="cod_entrada">Código entrada: </label><input name="cod_entrada" size="62" id="formulario_reparaciones_cod_entrada" value=""  type="text" disabled><br>
  100.                         <label for="accesorios">Accesorios: </label><input name="accesorios" id="formulario_reparaciones_accesorios" size="62" value=""  type="text" disabled><br>
  101.                         <label for="averia">Averia: </label><textarea name="averia" id="formulario_reparaciones_averia" cols="48" disabled></textarea><br>
  102.                     </div>             
  103.                     <div style="float:right; margin-top:5px;">
  104.                         <fieldset>
  105.                             <legend align="right">CLIENTE</legend>
  106.                             <label for="codigo">Codigo: </label><input onchange="alert('hola')" name="codigo" id="codigo" value="" type="text" size="3" disabled required><br>
  107.             </form>
  108.             <form id="formulario_reparaciones_clientes" name="formulario_reparaciones_clientes">
  109.                             <label for="nombre">Nombre: </label><input  name="nombre" id="formulario_reparaciones_clientes_nombre" value="" type="text" size="50" disabled required><br>
  110.                             <label for="domicilio">Domicilio: </label><input name="domicilio" id="formulario_reparaciones_clientes_domicilio" value="" size="50" type="text" disabled><br>
  111.                             <label for="cp">Código Postal: </label><input name="cp" id="formulario_reparaciones_clientes_cp" value="" size="5" type="text" disabled>
  112.                             <label for="ciudad" style="width:50px;">Ciudad: </label><input name="ciudad" id="formulario_reparaciones_clientes_ciudad" value="" type="text" disabled><br>
  113.                             <label for="provincia">Provincia: </label><input name="provincia" id="formulario_reparaciones_clientes_provincia" value="" size="50" type="text" disabled><br>
  114.                             <label for="dni">DNI: </label><input name="dni" id="formulario_reparaciones_clientes_dni" value="" size="10" type="text" disabled><br>
  115.                             <label for="telefono">Teléfono: </label><input name="telefono" id="formulario_reparaciones_clientes_telefono" value="" size="10" type="text" disabled>
  116.                             <label style="width:45px;" for="movil">Móvil: </label><input name="movil" id="formulario_reparaciones_clientes_movil" value="" size="10" type="text" disabled><br>
  117.                             <label for="fax">Fax: </label><input name="fax" id="formulario_reparaciones_clientes_fax" value="" size="10" type="text" disabled><br>
  118.                             <label for="email">Email: </label><input name="email" id="formulario_reparaciones_clientes_email" value="" size="50" type="text" disabled><br>
  119.                             <label for="observaciones">Observaciones: </label><textarea name="observaciones" id="formulario_reparaciones_clientes_observaciones" cols="39" disabled></textarea><br>
  120.                         </fieldset>
  121.                     </div>
  122.                 </form>
  123.                 <input type="hidden" value="clientes" name="campo_oculto_formulario_clientes" id="campo_oculto_formulario_clientes">
  124.                 <button id="boton_edita_formulario_clientes" style="margin-left:10px; display:none" type="submit">Modificar registro</button><button id="boton_envia_formulario_clientes" style="margin-left:10px; display:none" type="submit">Añadir cliente</button><button id="boton_cancela_formulario_clientes" style="margin-left:10px; display:none" onClick="cancelar(clientes,'clientes');" type="button">Cancelar</button>
  125.             </fieldset>
  126.            
  127.         </div>
  128.     </div>
  129. </div>
  #10 (permalink)  
Antiguo 25/04/2014, 12:46
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: onchange en input que cambia solo

Veo que dependiendo de una condición, asignas un valor al input ya sea en la línea 35 o en la 74. Pues la respuesta a esta pregunta:

Cita:
Iniciado por legomolina Ver Mensaje
¿como detecto que se ha llenado ese input?
Ya la tienes resuelta, puesto que es en una de esas líneas (dependiendo de la condición) en donde puedes detectar el cambio. Sabiendo eso, ya puedes realizar lo que querías, que por cierto, no lo has especificado.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 25/04/2014, 12:47
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Código Javascript:
Ver original
  1. <script type="text/javascript" language="javascript">
  2.     tablas=new Array(); //array que contiene los nombres de las tablas (strings) GLOBAL
  3.     array_contenedor=new Array(); //array que contiene los arrays de los resultados de las diversas consultas GLOBAL
  4.     <?php
  5.         for($j=0; $j<count($tablas); $j++) { //Para cada tabla de la bd crea un array en js con el nombre de la tabla
  6.             echo "tablas[".$j."]='".$tablas[$j]."';\n";
  7.             echo "var ".$tablas[$j]."=new Array();\n"; //inicializa el array
  8.            
  9.             $sql="SELECT *
  10.                   FROM ".$tablas[$j];
  11.             $res=$db->query($sql); //Hace una query con el nombre de la tabla que corresponde
  12.  
  13.             //Lee los nombres de las columnas y los almacena en un array indexado con numeros empezando con el 0.
  14.             $i=0; //El indice
  15.             while($infocol=mysqli_fetch_field($res)) {
  16.                 $nombrecol[$i]=$infocol->name;
  17.                 $i++;
  18.             }
  19.  
  20.             //Crea y guarda los valores de las columnas en un array en js que contiene objetos con las propiedades de los nombres de las columnas
  21.             $i=0; //El indice
  22.             while($resultado=mysqli_fetch_assoc($res)) { //Mientras haya cosas que leer en la bd
  23.                 $u=0; //Iterador
  24.                 echo $tablas[$j]."[".$i."]=({"; //Crea un nuevo indice en el array resultados y comienza el objeto
  25.                 while($u<count($nombrecol)) {
  26.                     if($u+1!=count($nombrecol)) //Solo vale para quitar la coma en caso de que sea la ultima propiedad del objeto
  27.                         echo $nombrecol[$u].":'".$resultado[$nombrecol[$u]]."',"; //Va asignando al objeto las propiedades con el nombre de la columna correspondiente y a cada una el resultado obtenido de la bd
  28.                     else
  29.                         echo $nombrecol[$u].":'".$resultado[$nombrecol[$u]]."'";
  30.                     $u++;
  31.                 }
  32.                 echo "});\n";
  33.                 //Debug
  34.                 //echo "alert(resultados[".$i."]['codigo']);\n";
  35.                 //End debug
  36.                 $i++;
  37.             }
  38.             echo "array_contenedor[".$j."]=".$tablas[$j].";\n";
  39.         }
  40.     ?>
  41.  
  42.     function seleccionar() {
  43.         var sel = $("nombre");
  44.             sel.focus();
  45.             sel.select();    
  46.     }
  47. </script>
  #12 (permalink)  
Antiguo 25/04/2014, 12:50
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: onchange en input que cambia solo

Te pedí el código de la función, no el de toda la aplicación.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #13 (permalink)  
Antiguo 25/04/2014, 12:53
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Ya pero con eso te muestro que no puedo hacer lo que dices porque el primer div (div clientes), solo hay un form que depende de el mismo. Si yo llamo a la función indicandole que debe cambiar me lo volvera a cambiar no?
Lo mismo estoy liado.
  #14 (permalink)  
Antiguo 25/04/2014, 12:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: onchange en input que cambia solo

¿No estarás esperando a que sea yo el que analice todo el código que has publicado? ¿Verdad? Con que muestres el código de la función y me dieras una explicación lógica y sensata y no un:

Cita:
Iniciado por legomolina Ver Mensaje
Hazme caso que no se puede.
Era más que suficiente.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #15 (permalink)  
Antiguo 25/04/2014, 12:56
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Releyendo el mensaje: Y lo que quiero hacer, es llamar, una vez cambiado en input, a una función que llene ese formulario con el array clientes.
  #16 (permalink)  
Antiguo 25/04/2014, 12:57
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

No. Siento si a parecido eso. Lo único que quiero saber es si se puede llamar a una funcion cuando cambia el value de un input automáticamente sin necesidad de modificar la función ya hecha

Etiquetas: formulario, funcion, input, onchange
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 09:30.