Foros del Web » Programando para Internet » Jquery »

Problema javascript enviar formulario php

Estas en el tema de Problema javascript enviar formulario php en el foro de Jquery en Foros del Web. Buenas tengo una pagina hecha en jquery mobile y soy incapaz de llamar al js desde un boton de envio de formulario. El codigo es ...
  #1 (permalink)  
Antiguo 29/05/2013, 03:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 56
Antigüedad: 17 años
Puntos: 0
Problema javascript enviar formulario php

Buenas tengo una pagina hecha en jquery mobile y soy incapaz de llamar al js desde un boton de envio de formulario.

El codigo es HTLM5 es el siguiente:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

.......

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>

<script type="text/javascript" src="js/contact.js"></script>
......

<body>
......
<div class="send"><a href="javascript:;" data-role="button" data-theme="a" data-iconpos="right" id="send-feedback">Enviar mensaje</a></div>
</div><!-- //.contact-form -->
..................
</body>


.........

</body>
</html>



y el contact.js


$('#send-feedback').live("click", function() {
var url = 'api/send.php';
var error = 0;
var $contactpage = $(this).closest('.ui-page');
var $contactform = $(this).closest('.contact-form');
$('.required', $contactform).each(function (i) {
if ($(this).val() === '') {
error++;
}
}); // each
if (error > 0) {
alert('Por favor completa los campos requeridos con *.');
} else {
var firstname = $contactform.find('input[name="firstname"]').val();
var surname = $contactform.find('input[name="surname"]').val();
var state = $contactform.find('select[name="state"]').val();
var mobilephone = $contactform.find('input[name="mobilephone"]').val();
var email = $contactform.find('input[name="email"]').val();
var message = $contactform.find('textarea[name="message"]').val();

//submit the form
$.ajax({
type: "GET",
url: url,
data: {firstname:firstname, surname:surname, state: state, mobilephone: mobilephone, email: email, message: message},
success: function (data) {
if (data == 'success') {
// show thank you
$contactpage.find('.contact-thankyou').show();
$contactpage.find('.contact-form').hide();
} else {
alert('El mensaje no se ha podido enviar. Por favor vuelta a intentarlo mas tarde');
}
}
}); //$.ajax

}
return false;
});




Me funcionaba con una version de jquery mobile (query.mobile-1.0b1) pero ahora con la nueva no quizas tenga mal los vinculos?????
  #2 (permalink)  
Antiguo 29/05/2013, 08:16
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Problema javascript enviar formulario php

1 - no entiendo para que usas live()

2 - puedes usar jQuery.serialize para serializar todo el form, no hacerlo campo por campo

3 - de preferencia use POST para enviar formularios

4 - debe asignar los eventos cuando el DOM se cargue, use $(document).ready();
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, campos, formulario, funcion, html, input, javascript, js, php, select
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 13:11.