Foros del Web » Programando para Internet » Javascript »

Soy novato en JS me podran ayudar con esto por favor

Estas en el tema de Soy novato en JS me podran ayudar con esto por favor en el foro de Javascript en Foros del Web. Buenas, muchas gracias por leer mi post. Resulta que tengo un problemilla, tengo un menu desplegable (llamese: ubicacion) el cual a la hora de seleccionar ...
  #1 (permalink)  
Antiguo 06/01/2009, 12:46
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Información Soy novato en JS me podran ayudar con esto por favor

Buenas, muchas gracias por leer mi post.

Resulta que tengo un problemilla, tengo un menu desplegable (llamese: ubicacion) el cual a la hora de seleccionar "Prestado/Otra Ubic." se me active un campo de texto (llamese: ubicacion2), me funciona perfecto la parte de activar y desactivar.

El problema es a la hora de enviar al formulario, y no este selaccionada la opcion que activa el campo de texto (llamese: ubicacion2) por defecto pase el valor "N/A" (que significa no aplica) a la base de datos, y me deje pasar vacio el valor.

Y si esta activo que no me la deje pasar vacia y el usuario tenga que ingresar una ubicación es decir un valor.

Sin embargo nunca me la deja pasar vacia. Y al guardarla con php en la base de datos mysql esta me sale con el campo vacio.

Codigo Javascript

Código PHP:
<script language="javascript" type="text/javascript">

var 
ubicacion2 document.getElementById("ubicacion2");

if((
ubicacion2.disabled=false) && notEmpty(ubicacion2,"Por favor ingrese alguna ubicacion")){ 
return 
true;
}
else
{
return 
false;
}

function 
notEmpty(elemhelperMsg)
{
    if(
elem.value.length == 0)
    {
        
alert(helperMsg);
        
elem.focus(); // Devuelvo al usuario al input
        
return false;
    }
    return 
true;
}

</script> 
Parte del Codigo PHP del formulario

Código PHP:
<p>
    <
label><strong><br />
    <
br />
    
Ubicación</strong>
     <
select name="ubicacion" id="ubicacion" onchange="ubicacion2.disabled = this.value != 'Prestado/Otra Ubic.'">
      <
option>Seleccionar Ubicaci&oacute;n</option>
      <
option>Caracas</option>
      <
option>Maracaibo</option>
      <
option>Prestado/Otra Ubic.</option>
    </
select>
    </
label>
  </
p>
  <
p>&nbsp;</p>
  <
p>
    <
label><strong>Indicar Ubicaci&oacute;Personal</strong>
    <
input name="ubicacion2" type="text" id="ubicacion2" disabled="disabled"/>
    </
label>
</
p
Parte del archivo que guarda los datos del formulario

Código PHP:
$ubicacion2=$_POST[ubicacion2];
if(
$ubicacion2 == "")
    {
        
$ubicacion2 == "N/A";
    }
$result2 mysql_query("INSERT INTO `activos`.`activo` (
`serialemp` ,
`serial` ,
`descripcion` ,
`proveedor` ,
`ubicacion` ,
[B]`ubicacion2` ,[/B]
`factura` ,
`cantidad` ,
`precio` ,
`fecha_adq` ,
`fecha_gar` ,
`estado` ,
`ci_responsable` ,
`nombre_responsable` ,
`ci_usuario` ,
`nombre_usuario` ,
`comentario`
)
VALUES (
'$serialemp', 
'$serial', 
'$descripcion', 
'$proveedor', 
'$ubicacion',
[B]'$ubicacion2', [/B]
'$factura', 
'$cantidad', 
'$precio', 
'$Fecha_adq', 
'$Fecha_gar', 
'$estado', 
'$ci_responsable', 
'$nombre_responsable', 
'$ci_usuario', 
'$nombre_usuario', 
'$comentario'
)"
); 

Ojo no lo pongo todo porque no me cabria aqui, cualquier ayuda es buena.

Mucho les sabre agradecer sus buenos oficios.
  #2 (permalink)  
Antiguo 06/01/2009, 15:02
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Soy novato en JS me podran ayudar con esto por favor

Hola,

Posiblemente, podrías comenzar por corregir esto:

Cita:
Iniciado por warbandit69 Ver Mensaje
Código PHP:
$ubicacion2=$_POST['ubicacion2']; 
Saludos,
  #3 (permalink)  
Antiguo 06/01/2009, 15:16
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Soy novato en JS me podran ayudar con esto por favor

Asi como esta me funciona perfectamente con las demas variables, no lo desearia modificar no me vaya a dejar de funcionar el script
  #4 (permalink)  
Antiguo 06/01/2009, 16:24
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
De acuerdo Respuesta: Soy novato en JS me podran ayudar con esto por favor

Hola,

Cita:
Iniciado por warbandit69 Ver Mensaje
Asi como esta me funciona perfectamente con las demas variables, no lo desearia modificar no me vaya a dejar de funcionar el script
Si, seguramente. Es lo más adecuado.

Saludos,
  #5 (permalink)  
Antiguo 07/01/2009, 01:45
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Soy novato en JS me podran ayudar con esto por favor

hola, haber si anda con esto:
js:
Código javascript:
Ver original
  1. var ubicacion2, ubicacion;
  2. onload = function(){
  3.     ubicacion = document.getElementById("ubicacion");
  4.     ubicacion2 = document.getElementById("ubicacion2");
  5. };
  6.  
  7. function valida(){
  8.     if( ubicacion.selectedIndex == 3 ){
  9.         var empty = notEmpty(ubicacion2,"Por favor ingrese alguna ubicacion");
  10.         if( !empty )return empty;
  11.     }
  12.    
  13.     return true;
  14. }
  15.  
  16. function notEmpty(elem, helperMsg)
  17. {
  18.     if( !(/\s*[^\s]+\s*/.test(elem.value)) )
  19.     {
  20.         alert(helperMsg);
  21.         elem.focus(); // Devuelvo al usuario al input
  22.         return false;
  23.     }
  24.     return true;
  25. }
html:
Código HTML:
<form onsubmit="return valida();">
<p>
    <label><strong><br />
    <br />
    Ubicación</strong>
     <select name="ubicacion" id="ubicacion" onchange="ubicacion2.disabled = this.selectedIndex != 3">
      <option>Seleccionar Ubicaci&oacute;n</option>
      <option>Caracas</option>
      <option>Maracaibo</option>
      <option>Prestado/Otra Ubic.</option>
    </select>
    </label>
  </p>
  <p>&nbsp;</p>
  <p>
    <label><strong>Indicar Ubicaci&oacute;n / Personal</strong>
    <input name="ubicacion2" type="text" id="ubicacion2" disabled="disabled"/>
    </label>
</p>  
    <input type="submit" />
</form> 
saludos
:]
__________________
Aerolíneas Alicia :D
  #6 (permalink)  
Antiguo 07/01/2009, 09:59
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Soy novato en JS me podran ayudar con esto por favor

Cita:
Iniciado por marcopoloaz06 Ver Mensaje
Código javascript:
Ver original
  1. var ubicacion2, ubicacion;
  2. onload = function(){
  3.     ubicacion = document.getElementById("ubicacion");
  4.     ubicacion2 = document.getElementById("ubicacion2");
  5. };
  6.  
  7. function valida(){
  8.     if( ubicacion.selectedIndex == 3 ){
  9.         var empty = notEmpty(ubicacion2,"Por favor ingrese alguna ubicacion");
  10.         if( !empty )return empty;
  11.     }
  12.    
  13.     return true;
  14. }
  15.  
  16. function notEmpty(elem, helperMsg)
  17. {
  18.     if( !(/\s*[^\s]+\s*/.test(elem.value)) )
  19.     {
  20.         alert(helperMsg);
  21.         elem.focus(); // Devuelvo al usuario al input
  22.         return false;
  23.     }
  24.     return true;
  25. }
Hola amigo gracias pero sucede que tengo varios if anidados son demasiado largos, por lo que no se donde poner esa funcion, te voy a pegar el codigo sin las funciones adicionales para que veas:

Código javascript:
Ver original
  1. <script language="javascript" type="text/javascript">
  2.  
  3. function formValidator(){
  4. // Make quick references to our fields
  5. var serialemp = document.getElementById("serial1");
  6. var serial = document.getElementById("serial2");
  7. var descripcion = document.getElementById("descripcion");
  8. var proveedor = document.getElementById("proveedor");
  9. var ubicacion = document.getElementById("ubicacion");
  10. var ubicacion2 = document.getElementById("ubicacion2");
  11. var factura = document.getElementById("factura");
  12. var cantidad = document.getElementById("cantidad");
  13. var precio = document.getElementById("precio");
  14. var adq_dia = document.getElementById("adq_dia");
  15. var adq_mes = document.getElementById("adq_mes");
  16. var adq_ano = document.getElementById("adq_ano");
  17. var gar_dia = document.getElementById("gar_dia");
  18. var gar_mes = document.getElementById("gar_mes");
  19. var gar_ano = document.getElementById("gar_ano");
  20. var estado = document.getElementById("estado");
  21. var ci_responsable = document.getElementById("ci_responsable");
  22. var ci_usuario = document.getElementById("ci_usuario");
  23.  
  24. // Check each input in the order that it appears in the form!
  25. if(notEmpty(serialemp,"Por favor ingrese algun serial") && isNumeric(serialemp,"Por favor sólo ingrese números para los seriales empresariales")){
  26.     if(notEmpty(serial,"Por favor ingrese el serial del articulo, de no tener escriba N/A")){
  27.         if(notEmpty(descripcion,"Por favor ingrese alguna descripción")){
  28.             if(madeSelectionproveedor(proveedor,"Por favor seleccione un proveedor del(de los) artículo(s)")){
  29.                 if(madeSelectionubicacion(ubicacion,"Por favor seleccione una ubicación del(de los) artículo(s)")){
  30.                     if (valida(ubicacion2,"Por favor ingrese alguna ubicación")){
  31.                     if(notEmpty(factura,"Por favor ingrese algun número de fáctura") && isAlphanumeric(factura,"Por favor sólo ingrese números y/o letras para la factura (sin espacios en blanco)")){     
  32.                         if(notEmpty(cantidad,"Por favor ingrese la cantidad de artículos") && isNumeric(cantidad,"Por favor sólo ingrese números para la cantidad")){                  
  33.                                 if(notEmpty(precio,"Por favor ingrese el precio del(de los) artículo(s)") && isNumeric(precio, "Por favor sólo ingrese números para el precio")){
  34.                                
  35.                                         if(madeSelectiondia(adq_dia,"Por favor seleccione el día de adquisición")){
  36.                                                 if(madeSelectionmes(adq_mes,"Por favor seleccione el mes de adquisición")){
  37.                                                     if(madeSelectionano(adq_ano,"Por favor seleccione el año de adquisición")){
  38.                                                         if(madeSelectiondia1(gar_dia,"Por favor seleccione el día de vencimiento de la garantía")){
  39.                                                             if(madeSelectionmes1(gar_mes,"Por favor seleccione el mes de vencimiento de la garantía")){
  40.                                                                 if(madeSelectionano1(gar_ano,"Por favor seleccione el año de vencimiento de la garantía")){
  41.                                                                     if(madeSelectionestado(estado,"Por favor seleccione el estado del artículo")){
  42.                                                                         if(madeSelectionresponsable(ci_responsable,"Por favor seleccione el usuario del artículo")){
  43.                                                                             if(madeSelectionusuario(ci_usuario,"Por favor seleccione el encargado (responsable) del artículo")){
  44.                                                                                 return true;
  45.                                                                             }
  46.                                                                         }
  47.                                                                     }
  48.                                                                 }
  49.                                                             }
  50.                                                         }
  51.                                                     }
  52.                                                 }
  53.                                             }
  54.                                         }
  55.                                     }
  56.                                 }
  57.                             }
  58.                         }
  59.                     }
  60.                 }
  61.             }
  62.         }
  63.        
  64. return false;
  65. }

y continuan las funciones hasta el tag </script>

y esa verificacion debo ponerla dentro de esos if anidados (que son bastantes por cierto) :S
  #7 (permalink)  
Antiguo 07/01/2009, 20:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años
Puntos: 3
Respuesta: Soy novato en JS me podran ayudar con esto por favor

Creo que con esto te funcionaria y te ahorras una cuentas lineas de codigo, esto funciona

<script language="JavaScript">
function valida_envia(){
if(document.form1.txtnom.value==""){
alert("Ingrese su Nombre y Apellidos completos");
return(1)
}else if(document.form1.email.value.indexOf('@')==-1){
alert("Debe poner un e-mail valido");
return(1)
}else if(isNaN(document.form1.edad.value)||document.form 1.edad.value==""){
alert("Ingrese la edad debe ser numerico");
return(1)
}else if(isNaN(document.form1.telefono.value)||document. form1.telefono.value==""){
alert("Ingrese el numero Celular, debe ser numerico");
return(1)
}else if(document.form1.interes.value=="Elegir"){
alert("Ingrese su interes");
return(1)

}
}
</script>
</head>

<form name="form1">
<table align="center">
<tr>
<td>Nombre: </td>
<td><input type="text" name="txtnom" size="35" maxlength="100"></td>
</tr>
<tr>
<td>email: </td>
<td><input type="text" name="email" size="35" maxlength="40"></td>
</tr>
<tr>
<td>Edad: </td>
<td><input type="text" name="edad" size="3" maxlength="2"></td>
</tr>
<tr>
<td>telefono: </td>
<td><input type="text" name="telefono" size="10" maxlength="15"></td>
</tr>
<tr>
<td>Interés:</td>
<td>
<select name=interes>
<option value="Elegir">Elegir
<option value="Comercial">Contacto comercial
<option value="Clientes">Atención al cliente
<option value="Proveedores">Contacto de proveedores
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" value="Enviar" onclick="valida_envia()"></td>
</tr>
</table>
</form>
  #8 (permalink)  
Antiguo 07/01/2009, 22:34
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Soy novato en JS me podran ayudar con esto por favor

holas, puedes escojer la opción de chuchufuentes y tambien ve que tengas lo sig:
js:
Código javascript:
Ver original
  1. // necesitas tener tu función valida así
  2. function valida(ubicacion, ubicacion2, msg){
  3.     if( ubicacion.selectedIndex == 3 ){
  4.         var empty = notEmpty(ubicacion2, msg);
  5.         if( !empty )return empty;
  6.     }
  7.     return true;
  8. }
  9. // y tambien ps cambias tu if
  10. if(valida(ubicacion, ubicacion2,"Por favor ingrese alguna ubicación"))

saludossss
:)
__________________
Aerolíneas Alicia :D
  #9 (permalink)  
Antiguo 08/01/2009, 07:52
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Soy novato en JS me podran ayudar con esto por favor

Amigos muchas gracias por sus aportes pero sigue sin funcionarme :(
El codigo es demasiado para subirlo aqui, asi que lo subi a rapidshare, aqui les dejo el enlace para que lo descarguen:

http://rapidshare.com/files/181047021/Formulario.zip.htmlo aqui:

http://rapidshare.com/files/181047641/Formulario.zip

Se lo pueden descargar y ver como logro funcionar el script, pues con las ultimas modificaciones, sigue pasando vacia, asi active o no el campo de texto no me lo evalua si esta disabled o no.
  #10 (permalink)  
Antiguo 14/01/2009, 13:01
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Soy novato en JS me podran ayudar con esto por favor

Alguien me puede ayudar con esto? No doy con la solución
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 05:52.