на емейл приходит всегда два сообщения - одно пустое и всле за ним с двумя полями.
видимо скрипт,что завершает этот код, sc.js, отправляет эти два поля,
вот его код, который я поправил,и он стал отправлять два поля:
function validateEmail(email) {
var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return reg.test(email);
}
$(document).ready(function() {
$(".modalbox").fancybox();
$("#formElem").submit(function() { return false; });
$("#registerButton").bind("click", function(){
var emailval = $("#email").val();
var newsletterval = $("#newsletter").val();
var newsletterlen = newsletterval.length;
var nameval = $("#name").val();
var namelen = nameval.length;
var mailvalid = validateEmail(emailval);
var usernameval = $("#username").val();
var countryval = $("#country").val();
var cenaval = $("#cena").val();
var check1valval = $("#check1").val();
var check2val = $("#check2").val();
var tagnameval = $("#tagname").val();
if(mailvalid == false) {
$("#email").addClass("error");
}
else if(mailvalid == true){
$("#email").removeClass("error");
}
if(namelen < 4) {
$("#name").addClass("error");
}
else if(namelen >= 4){
$("#name").removeClass("error");
}
if(newsletterlen < 4) {
$("#newsletter").addClass("error");
}
else if(newsletterlen >= 4){
$("#newsletter").removeClass("error");
}
if(mailvalid == true && namelen >= 4 && newsletterlen>=4 ) {
// если обе проверки пройдены
// сначала мы скрываем кнопку отправки
$("#registerButton").replaceWith("<em>отправка...</em>");
$.ajax({
type: 'POST',
url: 'sendmessage.php',
data: $("#formElem").serialize(),
success: function(data) {
if(data == "true") {
$("#formElem").fadeOut("fast", function(){
$(this).before("<p><strong>Успешно! Ваше сообщение отправлено :)</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});
}
}
});
}
});
});
а в sliding.form.js , котоырй я подключаю в хеде,и который раньше , когда тема начиналась только, еще оптравлял данные на сервер, у меня вот такие изменения относитеьно оптравки в php файл:
$('#registerButton').bind('click',function(){
if($('#formElem').data('errors')){
alert('Пожалуйста, исправьте ошибки,где отмечено красным');
return false;
}else {
var dataToServer = {
username: document.getElementById("username").value,
email: document.getElementById("email").value,
country: document.getElementById("country").value,
name: document.getElementById("name").value,
newsletter: document.getElementById("newsletter").value,
cena: document.getElementById("cena").value,
check1: document.getElementById("check1").value,
check2: document.getElementById("check2").value,
tagname: document.getElementById("tagname").value,
};
alert('OTnPAB/\EHO');
$.ajax({
url: "sendmessage.php",
method: "post",
data: dataToServer,
success: function () { /*('Update successful! Успех! Сервер получил Емайл!' */},
error: function () { /*$('#status').text' Провал! Что-то пошло не так!' */}
});
почему же он тперь не отправляет даннные ? раз приходит пустое,а sc.js - отправляет два поля,а если в php файл отправки доабвить поле ,допустим "name",то ничего вообще не приходит..