Показать сообщение отдельно
  #56 (permalink)  
Старый 12.09.2014, 10:48
Аватар для vmazal
Аспирант
Отправить личное сообщение для vmazal Посмотреть профиль Найти все сообщения от vmazal
 
Регистрация: 04.09.2014
Сообщений: 48

на емейл приходит всегда два сообщения - одно пустое и всле за ним с двумя полями.

видимо скрипт,что завершает этот код, 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",то ничего вообще не приходит..

Последний раз редактировалось vmazal, 12.09.2014 в 10:51.
Ответить с цитированием