Foros del Web » Programando para Internet » Javascript »

Condicional en evento onsubmit.

Estas en el tema de Condicional en evento onsubmit. en el foro de Javascript en Foros del Web. Hola. Tengo un formulario que cuando lo envio estoy intentando meter un condicional, concretamente este: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original onsubmit = 'if(validarResultados(myArr[indice]), ...
  #1 (permalink)  
Antiguo 13/09/2011, 12:35
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Condicional en evento onsubmit.

Hola.
Tengo un formulario que cuando lo envio estoy intentando meter un condicional, concretamente este:

Código Javascript:
Ver original
  1. onsubmit='if(validarResultados(myArr[indice]), this){<?php echo $aciertos++;?>;}'

¿Se puede meter un condicional dentro de un evento onsubmit?, no tengo nada claro si lo que estoy intentando se puede o no se puede hacer. Si alguien me puede confirmar esta posibilidad continuo con mis intentonas.
Gracias y saludos.
  #2 (permalink)  
Antiguo 13/09/2011, 12:55
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Condicional en evento onsubmit.

Si puedes hacer condicionales en un evento, puede ser Onclick, onsubmit, onblur, etc....
  #3 (permalink)  
Antiguo 13/09/2011, 13:28
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Condicional en evento onsubmit.

Muchas gracias Oscarbt.
Necesitaba confirmarlo, aunque entendía que si pero por si acaso.
Saludos.
  #4 (permalink)  
Antiguo 13/09/2011, 18:16
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Condicional en evento onsubmit.

buenas...

de hecho, los eventos como atributos html no son otra cosa que entornos javascript. es decir, dentro de este puedes escribir cualquier cosa válida tal como lo harías en un archivo *.js o <script>. no obstante, lo que cambia un poco es el contexto.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 13/09/2011, 18:25
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Condicional en evento onsubmit.

Por poder se puede, pero ese código no creo que funcione. Ah, y es mejor no escribir JS inline, usa form.onsubmit.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 14/09/2011, 01:10
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Condicional en evento onsubmit.

No funciona, pero sabiendo que puedo hacerlo es cuestión de indagar mas.
No entiendo a que te refieres con lo de no escribir JS inline, usa form.onsubmit.
Si puedes ampliar te lo agradezco.
Muchas gracias y saludos.
  #7 (permalink)  
Antiguo 15/09/2011, 05:17
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Condicional en evento onsubmit.

Buenas.
Pues no me está funcionando, le estoy dando vueltas al porqué y me estoy trastornando.
Estoy metiendo la siguiente linea de llamada en el onsubmit...
Código Javascript:
Ver original
  1. <form name='envio' onsubmit='if(validarResultados(myArr[indice], document.envio)){<?php echo $aciertos++; ?>}' action='' method='GET'>

validarResultados está en un archivo javascript externo (.js) y lo único que estoy haciendo como prueba es devolver true o false, pero siempre me está añadiendo en $aciertos.
Esta es la función y esta la llamada al .js.

Código PHP:
Ver original
  1. <script type="text/javascript" src="cosas.js"></script>

Código Javascript:
Ver original
  1. function validarResultados(pregunta, elemento){          
  2.               return false;
  3.         }

En este último caso true o false, pero como digo el resultado siempre es el mismo.
¿Me podéis ayudar?
  #8 (permalink)  
Antiguo 15/09/2011, 05:37
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Condicional en evento onsubmit.

Lo que debes entender es que JS y PHP se ejecutan en ámbitos completamente diferentes. Mientras PHP se ejecuta en el servidor, JS lo hace en el cliente, por eso cuando JS está corriendo PHP ya ha cumplido todas las órdenes. Lo que sucede en tu caso es que, devuelva lo que devuelva la función, $aciertos siempre aumentará en 1, porque ese código se ejecuto antes. En estos casos, la comunicación debe ser cliente-servidor, y no al revés, así que debes usar AJAX.
Saludos (:
PD: Con inline me refiero a esto:
Código:
<form name='envio' onsubmit='if(validarResultados(myArr[indice], document.envio)){...}' action='' method='GET'>
Y lo correcto sería:
Código:
form.onsubmit = function(){
 if(validarResultados(myArr[indice], document.envio)){...}
};
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 15/09/2011, 07:07
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Condicional en evento onsubmit.

Muchas gracias por tu respuesta.
Te aseguro que me es de mucho valor.
Como ampliación y para el caso de que a alguien le interese (seguro que si)
http://www.elwebmaster.com/articulos...eventos-inline

Es bastanta probable que en las faqs exista información, pero en cualquier caso ahí queda.
Un saludo.
  #10 (permalink)  
Antiguo 15/09/2011, 07:18
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Condicional en evento onsubmit.

Realmente ese tutorial tiene algunas inconsistencias, pero supongo que para empezar está bien y es sencillo.
Saludos.
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #11 (permalink)  
Antiguo 15/09/2011, 07:21
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Condicional en evento onsubmit.

Bueno, para mi todo es instructivo tendiendo en cuenta mis muchas lagunas.
En cualquier caso, buscaré mas información.
Gracias de nuevo y saludos.
  #12 (permalink)  
Antiguo 15/09/2011, 11:47
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Condicional en evento onsubmit.

Hola.
_cronos2 o quien tenga a bien responder.
Tengo una duda conceptual que me está comiendo la moral, e intento aclararla antes de leer/ver tutoriales.
Toda mi problemática viene por lo siguiente: Estoy intentando hacer una web de una serie de preguntas/respuestas por temas. Por cada tema hago una select en BBDD y después de pasar este resultado a un array y convertirlo para poder utilizarlo con javascript, intento pasarlo por url desde un fichero PHP donde he realizado la consulta y conversión a un fichero html y utilizarlo con javascript en el cliente, pero mi problema es que no se como pasarlo por url este array desde el archivo PHP al archivo html. Esto entiendo que me solucionaría el problema porque una vez que tengo el array en cliente y que puedo manipularlo, no tengo ninguna necesidad de acceder al servidor para el resto de mi proceso.
Al no conseguir este paso es por lo que estoy intentando hacerlo todo en el servidor, pero claro, aquí me estoy encontrando con las incidencias que arrastro en este hilo.
Si me podéis dar algún consejo de como continuar os estaría muy agradecido.
Seguramente estoy liando todo pero bueno.
Gracias de antemano y saludos.

Etiquetas: condicional, evento, php, formulario
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:45.