Foros del Web » Programando para Internet » Javascript »

funciona javascript en un php?

Estas en el tema de funciona javascript en un php? en el foro de Javascript en Foros del Web. Es que no lo entiendo... no consigo que un boton llame a una funcion dentro de un js!¿? Es como si no existiera el js ...
  #1 (permalink)  
Antiguo 22/10/2005, 02:20
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
funciona javascript en un php?

Es que no lo entiendo... no consigo que un boton llame a una funcion dentro de un js!¿? Es como si no existiera el js grrrrr. Incluso pongo un alert en la primera linea del archivo js y no salta.

En el head:
Código HTML:
<script language="javascript" src="funcions.js" type="text/javascript"></script> 
dentro de mi archivo.php:
Código PHP:
        <div align="center"><input type="button" name="solicitud" value="inscribir" onClick="verificar()" /></div
Pero no me hace caso snif!! Evidentemente, la funcion verificar está definido dentro del archivo funcions.js.
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #2 (permalink)  
Antiguo 22/10/2005, 02:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola miketrix_esp

¿verificar() es la única función del archivo funcions.js que te falla? ¿Has comprobado que la ruta del archivo está bien?

El código que has puesto está correcto.

Saludos,
  #3 (permalink)  
Antiguo 22/10/2005, 02:56
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
No es que me falle, sino que no llama a ninguna función (en funcions.js hay más funciones). Es muy raro esto porque no veo nada erróneo.
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #4 (permalink)  
Antiguo 22/10/2005, 03:09
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
Menos mal que encontré el problema! Resulta que si comento una función, el resto del archivo funciona! Pero claro, ahora me gustaría saber qué tiene esta función que hace que no vaya lo demás??

Código:
function validar_email() { 
	var email_valid = true;
    if (fUser.email.value.indexOf('@') == -1)  || (fUser.email.value.indexOf('.') == -1) || (fUser.email.value.indexOf(' ') != -1))
    {
        alert ("Debes colocar una \"Dirección de Email\" válida"); 
        fUser.email.focus();
        email_valid = false;
    }
    else
        email_valid = true;
        
    return email_valid;
}
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #5 (permalink)  
Antiguo 22/10/2005, 18:15
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Hola amigo miketrix_esp!
Si no me equivoco, no te funcionaba porque en tu archivo js tienes un error. Que cuando lo comentas, el interpretador de Javascript no lo detecta. Es decir, si encuentra el error ya no se verifica el resto del script.
El error esta en que te falta la palabra clave document delante de cada fUser.
Te recomiendo buscar otros metodos para validar formularios. En Foros Del Web hay muchisimos
Espero haberte ayudado
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 22/10/2005, 18:22
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
Ok, gracias por la sugerencia. no sabía que era obligatorio poner document., en otras funciones nombro a campos del formulario sin el document. y funciona :\ pero bueno... no hace daño ponerlo.

Por otra parte, esta función validar_email(), como su nombre indica, solo es para validar el campo email y es un script, bajo mi opinión, bastante bueno para validar emails no? Para validar el formulario completo ya tengo otra función.

Gracias nuevamente.
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #7 (permalink)  
Antiguo 22/10/2005, 19:02
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Para entender el problema, se necesita saber la estructura que tiene Javascript. Por ejemplo:
Una ventana contiene marcos u otras ventanas y documentos. Un documento puede contener una variedad de objetos, tales como formularios. Estos formularios, a su vez, otros objetos, por ejemplo botones.
Código:
window.document.forms["fUser"].elements["email"].value
Tu funcion es buena, como dices, pero solo funcionaria para ese formulario, ya que tu le indicas que el campo email pertenece al formulario fUser:
Código:
fUser.email.value
La solucion seria:
Código:
function validar_email(formName,fieldName) { 
var email_valid = true;
var email = document.forms[formName][fieldName];
    if (email.value.indexOf('@') == -1)  || (email.value.indexOf('.') == -1) || (email.value.indexOf(' ') != -1))
    {
        alert ("Debes colocar una \"Dirección de Email\" válida"); 
        email.focus();
        email_valid = false;
    }
    else
        email_valid = true;
        
    return email_valid;
}
Hasta la proxima
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 23/10/2005, 01:39
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
Perfecto. Tienes toda la razón, tu propuesta de función es válida para cualquier formulario. Es que uno está acostumbrado a una cosa y no ve las alternativas o mejoras :P Gracias!

(Eres de Rusia de verdad?)
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #9 (permalink)  
Antiguo 23/10/2005, 03:21
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
Por cierto, encontré donde fallaba la función!!!

Fijate bien. Uso el codigo que tú mismo has propuesto flaviovich:

Código:
function validar_email(formName,fieldName) { 
var email_valid = true;
var email = document.forms[formName][fieldName];
    if (email.value.indexOf('@') == -1)  || (email.value.indexOf('.') == -1) || (email.value.indexOf(' ') != -1))
    {
        alert ("Debes colocar una \"Dirección de Email\" válida"); 
        email.focus();
        email_valid = false;
    }
    else
        email_valid = true;
        
    return email_valid;
}
El parentesis que está marcado en rojo sobra!!! O en todo caso, habría que abrir otro adicional antes de email.value.indexOf('@') == -1 jajajaja. Menudos aficionados de pacotilla que somos :P
(siempre igual, que si falta un punto y coma, que si parentesis... ayss esta vida de programador xDD)
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #10 (permalink)  
Antiguo 23/10/2005, 03:24
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
... lo que yo digo siempre, hay que ver cómo se pone por un paréntesis de nada
  #11 (permalink)  
Antiguo 23/10/2005, 04:10
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Hola miketrix_esp y tunait!
El problema es que soy algo distraido, y tambien por el tiempo.
Cita:
Iniciado por miketrix_es
(Eres de Rusia de verdad?)
En realidad, soy peruano, pero vivo en Rusia. En si, estudio en Moscu, y muy probable que el proximo año regrese
suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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:04.