03/11/2011, 13:56
|
| | Fecha de Ingreso: julio-2009
Mensajes: 3
Antigüedad: 15 años, 4 meses Puntos: 0 | |
Problema con formulario PHP y validacion en Ajax Hola, haber si alguien me puede hechar una manito
lo que sucede que baje un template html ya que la version wordpress no la encontre
pero bueno eso no va con el tema, mi problema es que ya tengo el template modificado completo pero al momento de probar el formulario de contacto me doy cuenta que no funciona
leyendo el codigo creo que me faltan unos archivos o nose contact.php y sendemail.php
este es el template que utilizo http://paulomoreira.org/architec/ y el formulario es el de arriba el desplegable
queria saber si hay alguna manera de crear una forma de envio a partir de ese formulario ya prediseñado, ya que no puedo enviar correos desde el web
este es un javascript que contiene los pasos se llama contact.js
Código:
function sendemail(){
//Custom variables
var sendTo = "[email protected]"; //send the form elements to this email
var subject = "Message from your website"; //subject of the email
var nameErr = "Please enter a Name"; //Error message when Name field is empty
var emailErr = "Please enter a valid Email"; //Error message when Email field is empty or email is not valid
var messageErr = "Please enter a Message"; //Error message when Message field is empty
//Reset field errors/variables
$('#name_error').html("");
$('#email_error').html("");
$('#message_error').html("");
var err = 0;
// Check fields
var name = $('#name').val();
var email = $('#email').val();
var emailVer = validate_email(email);
var message = $('#message').val();
if (!name || name.length == 0 || name == "Name")
{
$('#name_error').html(nameErr);
err = 1;
}
if (!email || email.length == 0 || emailVer == 0)
{
$('#email_error').html(emailErr);
err = 1;
}
if (!message || message.length == 0 || message == "How can we help you?")
{
$('#message_error').html(messageErr);
err = 1;
}
//If there's no error submit form
if(err == 0)
{
// Request
var data = {
name: name,
email: email,
//sendTo: sendTo,
//subject: subject,
message: message
};
// Send
$.ajax({
url: "js/sendmail.php",
dataType: 'json',
type: 'POST',
data: data,
success: function(data, textStatus, XMLHttpRequest)
{
if (data.response.error)
{
if(data.response.error == 1){
$('#message_success').css('color','#14af08');
$('#message_success').html(data.response.message);
}
else{
$('#message_success').css('color','#bd3030');
$('#message_success').html(data.response.message);
}
}
else
{
// Message
$('#message_success').css('color','#bd3030');
$('#message_success').html("An unexpected error occured, please try again.");
}
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
// Message
$('#message_success').css('color','#bd3030');
$('#message_success').html("Error while contacting server, please try again.");
}
});
// Message
$('#message_success').css('color','#14af08');
$('#message_success').html("Sending...");
}
}
function validate_email(email) {
var reg = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
if(reg.test(email) == false) {
return 0;
} else {
return 1;
}
}
y este es el codigo del formulario
Código:
<div class="contactform">
<div id="message_success" class="form_success"></div>
<form method="post" action="contact.php" class="validateform">
<ul class="form">
<li>
<input type="text" name="name" id="name" class="name">
<div id="name_error" class="form_error"></div>
</li>
<li>
<input type="text" name="email" id="email" class="email">
<div id="email_error" class="form_error"></div>
</li>
<li>
<textarea name="message" id="message" class="message" rows=50 cols=50></textarea>
<div id="message_error" class="form_error"></div>
</li>
<li>
<a href="javascript:;" onclick="sendemail()" class="button"></a>
</li>
</ul>
</form>
</div>
</div>
</div>
<!-- start TopSlide -->
Ojala alguien pueda ayudarme y gracias de antemano |