Jump to content

Есть кто может помочь со скриптом?


Recommended Posts

Здравствуйте! Есть форма обратной связи, есть кто может "починить"?

<form id="form4">
				<div class="success_wrapper" ><div class="success" style="display: none;" >Мы с Вами свяжемся в ближайшее время!<br /><strong> </strong> </div></div>
				<fieldset style="border:none;"> 
					<label class="name">
						<input type="name" value="Введите имя" />
						<span class="error error-empty">*</span><span class="empty error-empty">*</span> 
					</label> 
					<label class="city">
						<input type="city" value="Город" />
						<span class="error error-empty">*</span><span class="empty error-empty">*</span> 
					</label> 
					<label class="phone">
						<input type="phone" value="Введите телефон" id="phone9"/>
						<span class="error error-empty">*</span><span class="empty error-empty">*</span>
					</label> 
					<a href="index.html" data-type="submit" data-type="reset" >оставить заявку</a>
				</fieldset>
			</form>
//forms
;(function($){
	$.fn.forms=function(o){
		return this.each(function(){
			var th=$(this)
				,_=th.data('forms')||{
					errorCl:'error',
					emptyCl:'empty',
					invalidCl:'invalid',
					notRequiredCl:'notRequired',
					successCl:'success',
					successShow:'4000',
					mailHandlerURL:'bat/MailHandler.php',
					ownerEmail:'support@lite.uz',
					product:'Заказ',
					stripHTML:true,
					smtpMailServer:'localhost',
					targets:'input,textarea',
					controls:'a[data-type=reset],a[data-type=submit]',
					validate:true,
					rx:{
						".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
					},
					preFu:function(){
						_.labels.each(function(){
							var label=$(this),
								inp=$(_.targets,this),
								defVal=inp.val(),
								trueVal=(function(){
											var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
											return defVal==''?defVal:tmp
										})()
							trueVal!=defVal
								&&inp.val(defVal=trueVal||defVal)
							label.data({defVal:defVal})								
							inp
								.bind('focus',function(){
									inp.val()==defVal
										&&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))
								})
								.bind('blur',function(){
									_.validateFu(label)
									if(_.isEmpty(label))
										inp.val(defVal)
										,_.hideErrorFu(label.removeClass(_.invalidCl))											
								})
								.bind('keyup',function(){
									label.hasClass(_.invalidCl)
										&&_.validateFu(label)
								})
							label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()
						})
						_.success=$('.'+_.successCl,_.form).hide()
					},
					isRequired:function(el){							
						return !el.hasClass(_.notRequiredCl)
					},
					isValid:function(el){							
						var ret=true
						$.each(_.rx,function(k,d){
							if(el.is(k))
								ret=d.rx.test(el.find(d.target).val())										
						})
						return ret							
					},
					isEmpty:function(el){
						var tmp
						return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')
					},
					validateFu:function(el){							
						el.each(function(){
							var th=$(this)
								,req=_.isRequired(th)
								,empty=_.isEmpty(th)
								,valid=_.isValid(th)								
							
							if(empty&&req)
								_.showEmptyFu(th.addClass(_.invalidCl))
							else
								_.hideEmptyFu(th.removeClass(_.invalidCl))
							
							if(!empty)
								if(valid)
									_.hideErrorFu(th.removeClass(_.invalidCl))
								else
									_.showErrorFu(th.addClass(_.invalidCl))								
						})
					},
					getValFromLabel:function(label){
						var val=$('input,textarea',label).val()
							,defVal=label.data('defVal')								
						return label.length?val==defVal?'nope':val:'nope'
					}
					,submitFu:function(){
						_.validateFu(_.labels)							
						if(!_.form.has('.'+_.invalidCl).length)
							$.ajax({
								type: "POST",
								url:_.mailHandlerURL,
								data:{
									name:_.getValFromLabel($('.name',_.form)),
									phone:_.getValFromLabel($('.phone',_.form)),
									city:_.getValFromLabel($('.city',_.form)),
									pro_duct:_.product,
									owner_email:_.ownerEmail,
									stripHTML:_.stripHTML
								},
								success: function(){
									_.showFu()
								}
							})			
					},
					showFu:function(){
						_.success.slideDown(function(){
							setTimeout(function(){
								_.success.slideUp()
								_.form.trigger('reset')
							},_.successShow)
						})
					},
					controlsFu:function(){
						$(_.controls,_.form).each(function(){
							var th=$(this)
							th
								.bind('click',function(){
									_.form.trigger(th.data('type'))
									return false
								})
						})
					},
					showErrorFu:function(label){
						label.find('.'+_.errorCl).slideDown()
					},
					hideErrorFu:function(label){
						label.find('.'+_.errorCl).slideUp()
					},
					showEmptyFu:function(label){
						label.find('.'+_.emptyCl).slideDown()
						_.hideErrorFu(label)
					},
					hideEmptyFu:function(label){
						label.find('.'+_.emptyCl).slideUp()
					},
					init:function(){
						_.form=_.me						
						_.labels=$('label',_.form)

						_.preFu()
						
						_.controlsFu()
														
						_.form
							.bind('submit',function(){
								if(_.validate)
									_.submitFu()
								else
									_.form[0].submit()
								return false
							})
							.bind('reset',function(){
								_.labels.removeClass(_.invalidCl)									
								_.labels.each(function(){
									var th=$(this)
									_.hideErrorFu(th)
									_.hideEmptyFu(th)
								})
							})
						_.form.trigger('reset')
					}
				}
			_.me||_.init(_.me=th.data({forms:_}))
			typeof o=='object'
				&&$.extend(_,o)
		})
	}
})(jQuery)
$(window).load(function(){
	$('#form').forms({
		ownerEmail:'admin@lite.uz',
		product:'Заказ обратного звонка'
	})
})
$(window).load(function(){
	$('#form1').forms({
		ownerEmail:'admin@lite.uz',
		product:'Оставьте заявкуна БЕСПЛАТНУЮ консультациюи получите СКИДКУ до 30% + ПОДАРОК!'
	})
})
$(window).load(function(){
	$('#form2').forms({
		ownerEmail:'admin@lite.uz',
		product:'Оставьте заявку на бесплатную консультацию прямо сейчас и получите СКИДКУ до 30% на наши услуги + ПОДАРОК!'
	})
})
$(window).load(function(){
	$('#form3').forms({
		ownerEmail:'admin@lite.uz',
		product:'АКЦИЯ!'
	})
})
$(window).load(function(){
	$('#form4').forms({
		ownerEmail:'admin@lite.uz',
		product:'Оставьте заявку на БЕСПЛАТНУЮ консультацию и получите СКИДКУ до 30% + ПОДАРОК!'
	})
})
$(window).load(function(){
	$('#form5').forms({
		ownerEmail:'admin@lite.uz',
		product:'Снять квартиру на длительный срок'
	})
})
$(window).load(function(){
	$('#form6').forms({
		ownerEmail:'admin@lite.uz',
		product:'Снять квартиру посуточно'
	})
})
$(window).load(function(){
	$('#form7').forms({
		ownerEmail:'admin@lite.uz',
		product:'Снять коттедж'
	})
})
$(window).load(function(){
	$('#form8').forms({
		ownerEmail:'admin@lite.uz',
		product:'Заказать услугу'
	})
})
$(window).load(function(){
	$('#form9').forms({
		ownerEmail:'admin@lite.uz',
		product:'Заполните заявку и получите консультацию специалиста'
	})
})
<?php
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они
        $to = 'info@lite.uz'; //Почта получателя, через запятую можно указать сколько угодно адресов
        $subject = '$pro_duct'; //Загаловок сообщения
        $message = '
                <html>
                    <head>
                        <title>'Заявка с сайта'</title>
                    </head>
                    <body>
                        <p>Имя: '.$_POST['name'].'</p>
                        <p>Телефон: '.$_POST['phone'].'</p>           
						<p>Город: '.$_POST['city'].'</p>    						
                    </body>
                </html>'; //Текст нащего сообщения можно использовать HTML теги
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
        $headers .= "From: Отправитель <admin@lite.uz>\r\n"; //Наименование и почта отправителя
        mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
}
?>

С меня шоколадка  :) 

Link to post
Share on other sites
  • 2 weeks later...
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...