Witam,
Posiadam na stronie formularz i chciałbym dodać jeszcze jeden odnoszący się do innego maila. Jak miałbym to zrobić?
Oto strona: http://ekol.worldbit.pl/index-5.html
Witam,
Posiadam na stronie formularz i chciałbym dodać jeszcze jeden odnoszący się do innego maila. Jak miałbym to zrobić?
Oto strona: http://ekol.worldbit.pl/index-5.html
Nie bardzo rozumiem w czym problem.
Obecnie masz formularz:
//rozne inputy itp
a poniżej robisz drugi raz to samo z innym ID.
Po pierwsze twój form nie działa przy wyłączonym js, więc nie można nazwać go formularzem. Dodaj kolejny label z:
mail1
mail2
Ponad to, musisz dodać do form.js do submitfu to pole i powinno być ok.
Wolałbym bez checkboxa, tak żeby na stronie był drugi dokładnie taki sam formularz lecz żeby odnosił się do innego maila.
To wiem, tylko jak zrobić żeby odnosił się do tego drugie formularzy plik .js, w którym mam implementacje .php Mógłbym stworzyć inny plik .js ale jak wtedy zrobić żeby on się odnosił tylko do tego drugiego formularza.
Możesz zrobić input type=“hidden” value=“1”, po czym go również przesłać a w php wybrać mail na podstawie wartości tego inputa. Musisz jakoś je rozróżnić.
Hmmm nie za bardzo wiem jak to zrobić z tym co napisałeś.
Z tego co ja widzę to w pliku forms.js dodajesz drugą konfigurację i tyle:
//pierwsza konfiguracja, (nie ustawiłeś maila?)
$(window).load(function() {
$('#contact-form').forms({
ownerEmail: '#'
})
})
$(window).load(function() {
$('#second-contact-form').forms({
ownerEmail: 'drugi@mail'
})
})
i robisz drugiego forma z id second-contact-form
Chodzi o to, że maila mam podanego w pliku .php
to pokaż zawartość tego pliku jak chcesz żebyśmy ci powiedzieli co dokładnie masz zmienić.
Już trochę popracowałem i udało mi się żeby .js rozróżniał dwa formularze. Każdy ma inny css, ale nie dochodzą wiadomości.
Tutaj jest kod .js i dwa .php (oczywiście nie mam wpisane “” normalny email jest. :P)
//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:'wyslij.php',
stripHTML:true,
smtpMailServer:'localhost',
targets:'input,textarea',
controls:'a[data-type=reset],a[data-type=submit]',
validate:true,
rx:{
".state":{rx:/^[a-zA-Z'][a-zA-Z-']+[a-zA-Z']?$/,target:'input'},
".email":{rx:/^(("[\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,target:'input'},
".phone":{rx:/^\+?(\d[\d\-\+\(\)]{5,}\d$)/,target:'input'},
".fax":{rx:/^\+?(\d[\d\-\+\(\)]{5,}\d$)/,target:'input'},
".message":{rx:/.{20}/,target:'textarea'}
},
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)),
email:_.getValFromLabel($('.email',_.form)),
phone:_.getValFromLabel($('.phone',_.form)),
fax:_.getValFromLabel($('.fax',_.form)),
state:_.getValFromLabel($('.state',_.form)),
message:_.getValFromLabel($('.message',_.form)),
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(){
$('#contact-form').forms({
ownerEmail:'wyslij.php'
})
})
$(window).load(function(){
$('#contact-form-drugi').forms({
ownerEmail:'wyslij-drugi.php'
})
})
<?php
$owner_email = ""; // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< tutaj wpisz adres email na który mają byc wysyłane maile
$headers = 'From:'.$_POST["email"];
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit";
$subject = 'Wiadomość ze strony internetowej od:' . $_POST["name"];
$subject = "=?utf-8?B?".base64_encode($subject)."?=";
$messageBody = "";
if($_POST['name']!='nope'){
$messageBody .= '
Imie i nazwisko: ' . $_POST["name"] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['email']!='nope'){
$messageBody .= '
Email: ' . $_POST['email'] . '' . "\n";
$messageBody .= '
' . "\n";
}else{
$headers = '';
}
if($_POST['state']!='nope'){
$messageBody .= '
State: ' . $_POST['state'] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['phone']!='nope'){
$messageBody .= '
Telefon: ' . $_POST['phone'] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['fax']!='nope'){
$messageBody .= '
Fax: ' . $_POST['fax'] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['message']!='nope'){
$messageBody .= '
Tresc: ' . $_POST['message'] . '' . "\n";
}
if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}
$headers .= "From: $from_user <$from_email>\r\n".
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";
mail($owner_email, $subject, $messageBody, $headers)
?>
<?php
$owner_email = ""; // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< tutaj wpisz adres email na który mają byc wysyłane maile
$headers = 'From:'.$_POST["email"];
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit";
$subject = 'Wiadomość ze strony internetowej od:' . $_POST["name"];
$subject = "=?utf-8?B?".base64_encode($subject)."?=";
$messageBody = "";
if($_POST['name']!='nope'){
$messageBody .= '
Imie i nazwisko: ' . $_POST["name"] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['email']!='nope'){
$messageBody .= '
Email: ' . $_POST['email'] . '' . "\n";
$messageBody .= '
' . "\n";
}else{
$headers = '';
}
if($_POST['state']!='nope'){
$messageBody .= '
State: ' . $_POST['state'] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['phone']!='nope'){
$messageBody .= '
Telefon: ' . $_POST['phone'] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['fax']!='nope'){
$messageBody .= '
Fax: ' . $_POST['fax'] . '' . "\n";
$messageBody .= '
' . "\n";
}
if($_POST['message']!='nope'){
$messageBody .= '
Tresc: ' . $_POST['message'] . '' . "\n";
}
if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}
$headers .= "From: $from_user <$from_email>\r\n".
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";
mail($owner_email, $subject, $messageBody, $headers)
?>
widzę że stosujesz praktykę kopiuj-wklej i powieliłeś cały skrypt zamiast sparametryzować go (choć tak naprawdę jest on już sparametryzowany).
w skrypcie php odczytujesz mail z przekazanego formularza:
<?php
$owner_email = $_POST["owner_email"];
nazwa skryptu obsługującego formularz jest w tym miejscu:
mailHandlerURL:'wyslij.php',
nie wiem czemu go zakomentowałeś. i do tego ustawiasz dwa maile w konfiguracji (tak jak podawałem w poprzednim poście)
$(window).load(function() {
$('#contact-form').forms({
ownerEmail: 'pierwszy@mail'
})
})
$(window).load(function() {
$('#second-contact-form').forms({
ownerEmail: 'drugi@mail'
})
})