Foros del Web » Programando para Internet » PHP »

evento onclick se dispara solo

Estas en el tema de evento onclick se dispara solo en el foro de PHP en Foros del Web. Me está ocurriendo algo extraño En una página index.php tengo el siguiente código: Código: <html> <head> <?php function VerHola(){ header('location: hola.html'); } ?> </head> <body> ...
  #1 (permalink)  
Antiguo 29/10/2012, 04:03
 
Fecha de Ingreso: octubre-2012
Ubicación: Friol
Mensajes: 25
Antigüedad: 11 años, 6 meses
Puntos: 0
evento onclick se dispara solo

Me está ocurriendo algo extraño
En una página index.php tengo el siguiente código:
Código:
<html>
<head>
<?php
	function VerHola(){
		header('location: hola.html');
	}
?>
</head>
<body>
    <form>
    <input name="boton" type="button" onclick="<?php echo VerHola() ?>" value="Enviar" />
    </form>
</body>
</html>
La página hola.html es la siguiente
Código:
<html>
<body>
hola
</body>
</html>
El caso es que al abrir index.php, y sin tocar a nada, se abre automaticamente la página hola.html.
  #2 (permalink)  
Antiguo 29/10/2012, 04:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: evento onclick se dispara solo

PHP no puede interactuar directamente con Javascript, porque el primero se ejecuta del lado del servidor y el segundo del lado del cliente (navegador) y, lo que está pasando, es que tu script PHP en cuanto procesa header(...) envía los encabezados correspondientes al navegador para redireccionar a hola.html y deberías tener algo como:

Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function VerHola(){
  3.     window.location('hola.html');
  4. }
  5. </head>
  6.     <form>
  7.     <input name="boton" type="button" onclick="VerHola();" value="Enviar" />
  8.     </form>
  9. </body>
  10. </html>
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/10/2012, 04:18
 
Fecha de Ingreso: octubre-2012
Ubicación: Friol
Mensajes: 25
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: evento onclick se dispara solo

Gracias por responder tan rapido,
entonces no puedo utilizar la función en php, tiene que ser obligatoriamente en javascript?.
Si quito el evento en el botón ya no abre hola.html
Saludos

Última edición por friol; 29/10/2012 a las 04:20 Razón: modificar
  #4 (permalink)  
Antiguo 29/10/2012, 05:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: evento onclick se dispara solo

Sí, necesariamente es con Javascript.

No entiendo la parte de quitar el evento y no abre hola.html, de hecho, se supone que no debería poder redireccionar con header() porque estás enviando contenido previamente y, aparte, echo VerHola() no muestra nada, porque la función sólo redirecciona y no devuelve valor.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 29/10/2012, 05:21
 
Fecha de Ingreso: octubre-2012
Ubicación: Friol
Mensajes: 25
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: evento onclick se dispara solo

Pues si la página index.php es así:

Código:
<html>
<head>
<?php
	function VerHola(){
		header('location: hola.html');
	}
?>
</head>
<body>
    <form>
    <input name="boton" type="button" value="Enviar" />
    </form>
</body>
</html>
se abre la página index.php y no la página hola.html, por eso creo que el evento onclick del botón se dispara solo
  #6 (permalink)  
Antiguo 29/10/2012, 12:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: evento onclick se dispara solo

A ver, creo que ya estaba medio dormino y no carburaba correctamente.

Haz esta prueba, sin HTML:

Código PHP:
Ver original
  1. <?php
  2. function VerHola(){
  3.     header('location: hola.html');
  4. }
  5.  
  6. echo VerHola();

si bien echo VerHola() no genera una salida, sí ejecuta la redirección, ya sea que la pongas como parte del onclick o en cualquier otro lugar de tu HTML, si no has enviado mucho contenido se hará la redirección.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 29/10/2012, 12:59
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: evento onclick se dispara solo

si necesitas enviarlo a otra página, lo mejor es que crees un link y le das formato con css para que tenga forma de boton y asunto arreglado
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 30/10/2012, 02:27
 
Fecha de Ingreso: octubre-2012
Ubicación: Friol
Mensajes: 25
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: evento onclick se dispara solo

Gracias por las respuestas
Al final lo hice con javascript

Saludos

Etiquetas: evento, html, onclick
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 08:40.