Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[SOLUCIONADO] Al aplicar dos funciones no ejecuta una

Estas en el tema de Al aplicar dos funciones no ejecuta una en el foro de Frameworks JS en Foros del Web. Tengo estos campos en un form @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < tr >       < table width = "100%" border = ...
  #1 (permalink)  
Antiguo 27/11/2013, 09:22
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años, 6 meses
Puntos: 20
Al aplicar dos funciones no ejecuta una

Tengo estos campos en un form

Código HTML:
Ver original
  1. <tr>
  2.       <table width="100%" border="00" cellspacing="00" cellpadding="00" class="bgcolor">
  3.         <tr>
  4.         <td width="30%" height="38" align="left" valign="middle"><p><span class="error">*</span>Cuántas personas viven con Ud? </p></td>
  5.         <td width="20%" align="left" valign="middle"><div style="margin-left:-6px;">
  6.           <input type="text" name="no_pople_living" id="no_pople_living" onkeyup="checkNum('no_pople_living','error_no_pople_living');numero()"   value="<?php if(isset($canidateBasicDetails['no_pople_living'])&&($canidateBasicDetails['no_pople_living'] != "")){
  7.  echo $canidateBasicDetails['no_pople_living'];
  8. }?>" autocomplete="off" />
  9.            <span class="error" id="error_no_pople_living" style="float:left"></span>
  10.                   </div></td>
  11.        
  12.         <?php if(isset($canidateBasicDetails['no_pople_living'])&&($canidateBasicDetails['no_pople_living'] == "0")){
  13.  $display1="";
  14.          }else{
  15.               $display1="none";
  16.              
  17.              }?>
  18.              
  19.         <td  align="left" valign="middle"><table><tr id="row33" style="display:<?php echo $display1;?>"><td><p><span class="error">*</span>Qué relación tiene con ellas? </p></td>
  20.         <td width="15%" align="left" valign="middle"><p>
  21.           <select name="relationship_type_them" id="relationship_type_them" class="select_mid">
  22.           <option selected="selected" value="" disabled="disabled">Seleccione</option>
  23.          <option value="Familia" <?php if(isset($canidateBasicDetails['relationship_type_them'])&&($canidateBasicDetails['relationship_type_them'] == "Familia")){?> selected="selected" <?php }?>>Familia</option>
  24.          <option value="Amigos" <?php if(isset($canidateBasicDetails['relationship_type_them'])&&($canidateBasicDetails['relationship_type_them'] == "Amigos")){?> selected="selected" <?php }?>>Amigos</option>
  25.            <option value="Inquilinos" <?php if(isset($canidateBasicDetails['relationship_type_them'])&&($canidateBasicDetails['relationship_type_them'] == "Inquilinos")){?> selected="selected" <?php }?>>Inquilinos</option>
  26.          
  27.          
  28.         </select>
  29.         <span class="error" id="error_relationship_type_them" style="float:left"></span>
  30.         </p>
  31.         </td></tr></table>
  32.       </tr>

y tengo esta funcion:

Código Javascript:
Ver original
  1. function numero(){
  2.     no_pople_living1 = $("input#no_pople_living").val('');
  3.       if(no_pople_living1 > 0){
  4.     $("#row33").show();
  5.     }else{
  6.         $("#row33").hide();
  7.         $("select#relationship_type_them").val('');
  8.     }
  9.     }

Cuando trabajo el campo no_pople_living de esta forma
Código HTML:
Ver original
  1. <input type="text" name="no_pople_living" id="no_pople_living" onkeyup="checkNum('no_pople_living','error_no_pople_living')"

Trabaja bien, es decir valida que el valor ingresado sea un número, si no es número no lo deja escribir; sin embargo necesito que además de eso oculte el campo siguiente "relationship_type_them" si el valor es cero, para lo cual lo hago asi
Código HTML:
Ver original
  1. <input type="text" name="no_pople_living" id="no_pople_living" onkeyup="checkNum('no_pople_living','error_no_pople_living');numero()"
Pero resulta que al probarlo, no deja ingresar ningun valor, que puede estar pasando?
__________________
Say no more.......
  #2 (permalink)  
Antiguo 27/11/2013, 11:56
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 7 meses
Puntos: 155
Respuesta: Al aplicar dos funciones no ejecuta una

Haber dos cosas, en la funcion "numero", si haces esto:

Código Javascript:
Ver original
  1. no_pople_living1 = $("input#no_pople_living").val('');

, estas modificando el valor ingresado en el input, sin importar lo que escribas siempre quedara como empty, por lo tanto el condicional

Código Javascript:
Ver original
  1. if(no_pople_living1 > 0)

siempre será falso.

Deberia ser:

Código Javascript:
Ver original
  1. var no_pople_living1 = $("input#no_pople_living").val(); //  sin comillas
  2.  
  3. if(no_pople_living1){
  4.  // resto del codigo
  5. }

Como es la función checkNum?
  #3 (permalink)  
Antiguo 27/11/2013, 13:27
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años, 6 meses
Puntos: 20
Respuesta: Al aplicar dos funciones no ejecuta una

Gracias ipraetoriux ese era el lio, ahora funciona bien
__________________
Say no more.......

Etiquetas: ejecuta, funcion, funciones, input, javascript, php
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 02:49.