Несколько контактных форм на одной странице jQueryPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Несколько контактных форм на одной странице jQuery

Сообщение Anonymous »

У меня есть контактная форма с TMForm.js и MailHandler.php, которая работает хорошо.

Теперь я хочу добавить еще одну контактную форму на ту же HTML-страницу и Я хочу указать вторую форму в электронном письме, которое я получу после отправки.

Проблема в том, что работает только первая форма. Как я могу решить проблему?

Это мой код:
HTML:



Il messaggio è stato inviato
con successo. Sarai contattato al più presto.

*Questo campo è
obbligatorio. *Nome
non valido. Inserisci un nome valido.
*Questo campo è
obbligatorio. *E-mail
non valido. Inserisci un e-mail valido. *Questo campo è
obbligatorio. *Numero
di telefono non valido. Inserisci un numero valido

*Questo campo è obbligatorio.
*Il messaggio è troppo corto.


INVIA
RICHIESTA

*Campi
obbligatori





Это TMform.js:

//TMForm
(function($){
$.fn.TMForm=function(opt){
return this.each(TMForm)

function TMForm(){
var form=$(this)
opt=$.extend({
okClass:'ok'
,emptyClass:'empty'
,invalidClass:'invalid'
,successClass:'success'
,onceVerifiedClass:'once-verified'
,mailHandlerURL:'bat/MailHandler.php'
,successShowDelay:'20000'
,stripHTML:true
},opt)

init()

function init(){
form
.on('submit',formSubmit)
.on('reset',formReset)
.on('focus','[data-constraints]',function(){
$(this).parents('label').removeClass(opt.emptyClass)
})
.on('blur','[data-constraints]:not(.once-verified)',function(){
$(this)
.addClass(opt.onceVerifiedClass)
.trigger('validate.form')
})
.on('keyup','[data-constraints].once-verified',function(){
$(this).trigger('validate.form')
}) < b r / > < b r / > i f ( $ ( ' [ d a t a - c o n s t r a i n t s ] ' , f o r m ) . l e n g t h ! = = 0 ) < b r / > $ ( ' [ d a t a - c o n s t r a i n t s ] ' , f o r m ) < b r / > . r e g u l a ( ' b i n d ' ) < b r / > . o n ( ' s h o w . p l a c e h o l d e r ' , f u n c t i o n ( ) { < b r / > f i e l d D e s o l a t i o n ( $ ( t h i s ) ) < b r / > } ) < b r / > . o n ( ' v a l i d a t e . f o r m ' , f i e l d V a l i d a t e ) < b r / > < b r / > < b r / > $ ( ' [ p l a c e h o l d e r ] ' , f o r m ) . T M P l a c e h o l d e r ( ) < b r / > < b r / > $ ( ' [ d a t a - t y p e = s u b m i t ] ' , f o r m ) < b r / > . c l i c k ( f u n c t i o n ( ) { < b r / > form.trigger('submit')
return false
})

$('[data-type=reset]',form)
.click(function(){
form.trigger('reset')
return false
})
}

function fieldValidate(el){
var el=$(this)
,result=el.regula('validate')
,isEmpty=false
,isInvalid=false
,isRequired=!!~el.data('constraints').indexOf('@Required')

$.each(result,function(){
if(this.constraintName==='Required')
isEmpty=true
else
isInvalid=true
})

if(!el.hasClass(opt.onceVerifiedClass)&&!isEmpty)
el.addClass(opt.onceVerifiedClass)

if(isEmpty)
el.parents('label').addClass(opt.emptyClass)

if(isInvalid&&!isEmpty&&isRequired)
el.parents('label')
.removeClass(opt.emptyClass)
.removeClass(opt.okClass)
.addClass(opt.invalidClass)

if(isInvalid&&!isRequired&&el.val())
el.parents('label')
.removeClass(opt.emptyClass)
.removeClass(opt.okClass)
.addClass(opt.invalidClass)

if(!result.length)
el.parents('label')
.removeClass(opt.invalidClass)
.removeClass(opt.emptyClass)
.addClass(opt.okClass)
}

function fieldDesolation(el){
el
.removeClass(opt.onceVerifiedClass)
.parents('label')
.removeClass(opt.invalidClass)
.removeClass(opt.emptyClass)
.removeClass(opt.okClass)
}

function getValue(el){
return el.val()||false
}

function formSubmit(){
$('[data-constraints]',form).trigger('validate.form')

if(!$('label.'+opt.invalidClass+',label.'+opt.emptyClass,form).length){
$.ajax({
type:"POST"
,url:opt.mailHandlerURL
,data:{
name:getValue($('label.name input'))
,email:getValue($('label.email input'))
,phone:getValue($('label.phone input'))
,fax:getValue($('label.fax input'))
,state:getValue($('label.state input'))
,message:getValue($('label.message textarea'))
,owner_email:opt.ownerEmail||'myemail@gmail.com'
,stripHTML:opt.stripHTML
}
,success: function(e){
form.addClass(opt.successClass)
setTimeout(function(){
form
.removeClass(opt.successClass)
.trigger('reset')
},opt.successShowDelay)
}
})
}
return false
}

function formReset(){
fieldDesolation($('[data-constraints]',form))
}
}
}
})(jQuery)

;(function($){
$.fn.TMPlaceholder=function(opt){
return this.each(function(){
var th=$(this)
,placeholder_text
,placeholder

opt=$.extend({
placeholderClass:'_placeholder'
,placeholderFocusedClass:'focused'
,placeholderHiddenClass:'hidden'
},opt)

init()

function init(){
placeholder_text=th.attr('placeholder')
placeholder=$(document.createElement('span'))
placeholder
.addClass(opt.placeholderClass)
.css({
left:th.prop('offsetLeft')
,top:th.prop('offsetTop')
,width:th.width()
,height:th.outerHeight()
})
.text(placeholder_text)
.appendTo(th.parent())
.click(function(){
th.focus()
return false
})
.on('contextmenu',function(){
th.trigger('hide.placeholder').focus()
})

th
.val('')
.removeAttr('placeholder')
.on('hide.placeholder',function(){
placeholder.addClass(opt.placeholderHiddenClass)
})
.on('show.placeholder',function(){
placeholder.removeClass(opt.placeholderHiddenClass)
})
.on('focus',function(){
placeholder.addClass(opt.placeholderFocusedClass)
})
.on('blur',function(){
var val=th.val()
if(val===''||val===placeholder_text)
th.val('')
,th.trigger('show.placeholder')
placeholder.removeClass(opt.placeholderFocusedClass)
})
.on('keydown',function(e){
if(e.keyCode===32||e.keyCode>46)
th.trigger('hide.placeholder')
})
.on('keyup',function(){
if(th.val()===''){
th.trigger('show.placeholder')
return false
}else{
th.trigger('hide.placeholder')
}
})
.parents('form').on('reset',function(){
th.trigger('show.placeholder')
})
}
})
}
})(jQuery)
//using suggested jQuery practice by passing jQuery into a function
//in order to have $ notation without conflicting with other libraries
//Author: Troy Ingram

//HERE WAS SOME VALIDATION CODE THAT I CANCELLED IN THIS PAGE

regula.custom({
name:'JustLetters'
,validator:function(){
return /^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/.test(this.value)
}
})
regula.custom({
name:'JustNumbers'
,validator:function(){
return /^\+?(\d[\d\-\+\(\) ]{5,}\d$)/.test(this.value)
}
})
$(window).load(function(){
$('#contact-form').TMForm({
ownerEmail:'myemail@gmail.com'
})

})


А это PHP:




Подробнее здесь: https://stackoverflow.com/questions/265 ... age-jquery
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»