Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Ejecutar una función php al hacer clic en un enlace

El tema es que tengo una función php que quiero ejecutar al hacer clic en un botón y lo eh intentado con un enlace que salta a un fichero php pero se nota como redirecciona y me gustaría que el usuario no notase nada es decir que la pagina no se recargue..

Gracias por adelantado
Editado
0
Puntos
6983
Visitas
1
Resp
Por dicarloo hace 102 meses
Principiante
Respuesta #1
Hola dicarloo,

Esto se hace con AJAX, que es una forma de enviar datos de manera asíncrona, es decir, sin recargar la página. Si ya tienes tu documento PHP, lo que debes hacer es modificar el formulario en tu HTML agregándole unos capturadores de evento javascript, quitar el atributo action y method, y crear un archivo javascript que contenga la función ajax. Es sencillo, te explico con un ejemplo.

Tienes un formulario en un archivo html, debes incluirle la librería de jquery.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

<form onsubmit="return false" name="formularioUsuario">
        <input type="text" name="nombre">
        <br>
        <input type="email" name="email">
        <br>
        <input type="button" value="Enviar" onclick="fn_enviar()">
</form>

<script src="js/ajax.js"></script>
Ese archivo ajax.js tendrá la función javascript ajax que permitirá enviar los datos de manera asíncrona.
var dataString = $('form').serialize();

function fn_enviar() {

        dataString;
        $.ajax({
                type: POST,
                url: '../procesar.php',
                data: dataString,
                success: function (html) {
                        // Cualquier función para avisar que fue todo un exito
                        // o dejar en blanco.
                }
        });

}
Bien, en el archivo procesar.php estaría tu función php. Lo que debes cambiar es la url donde se encuentra tu fichero php.

Si tienes duda también puedes guiarte por este post del foro que explica sobre ajax. O realizar la pregunta por aquí.
Y en este enlace conseguirás la librería jquery que nos ofrece Google.
0
Puntos
Por Jose hace 102 meses
Experto Sitio web
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate