2012-09-22 114 views
1

我不明白如何使我的模板的表單提交工作MailHandler。我下載了一個我一直在使用DW6手動編寫的模板,但我無法弄清楚爲了使聯繫人部分中的表單將表單信息發送給我的電子郵件地址而需要更改的內容。任何幫助深表感謝。Mailhandler.php援助需要

從我的index.html

<form action="#" id="ContactForm"> 
            <div class="success"> Enviado!&nbsp; <strong>Nos contactaremos a la brevedad</strong></div> 
             <fieldset class="left"> 
                <div class="block"> 
                <label class="name"> 
                 <span class="textStyle3">Nombre</span> 
                 <span class="bg"><input type="text" value="" class="input"></span> 
                 <span class="error">*Éste no es un nombre válido.</span> <span class="empty">*Campo Obligatorio.</span> </label> 
                <label class="email"> 
                 <span class="textStyle3">e-mail</span> 
                 <span class="bg"><input type="text" value="" class="input"></span> 
                 <span class="error">*Dirección de email no válida.</span> <span class="empty">*Campo Obligatorio.</span> </label> 

                </div> 
                <div class="block"> 
                <label class="message"> 
                 <span class="textStyle3">Mensaje</span> 
                 <span class="bg"><textarea rows="1" cols="2"></textarea></span> 
                 <span class="error">*Este mensaje es muy corto.</span> <span class="empty">*Campo Obligatorio.</span> </label> 
                </div> 
                 <div class="formBtn right"> 
                  <a href="#" data-type="submit" class="more">Enviar</a> 
                 </div> 
                 <div class="formBtn left"> 
                  <a href="#" data-type="reset" class="more">Limpiar</a> 
                 </div> 
              </fieldset> 
             </form> 

從我MailHandler.php

<?php 
$owner_email = $_POST["owner_email"]; 
$headers = 'From:' . $_POST["email"]; 
$subject = 'A message from your site visitor ' . $_POST["name"]; 
$messageBody = ""; 

if($_POST['name']!='nope'){ 
    $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n"; 
    $messageBody .= '<br>' . "\n"; 
} 
if($_POST['email']!='nope'){ 
    $messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n"; 
    $messageBody .= '<br>' . "\n"; 
}else{ 
    $headers = ''; 
} 
if($_POST['state']!='nope'){   
    $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n"; 
    $messageBody .= '<br>' . "\n"; 
} 
if($_POST['phone']!='nope'){   
    $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n"; 
    $messageBody .= '<br>' . "\n"; 
}  
if($_POST['fax']!='nope'){   
    $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n"; 
    $messageBody .= '<br>' . "\n"; 
} 
if($_POST['message']!='nope'){ 
    $messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n"; 
} 

if($_POST["stripHTML"] == 'true'){ 
    $messageBody = strip_tags($messageBody); 
} 

try{ 
    if(!mail($owner_email, $subject, $messageBody, $headers)){ 
     throw new Exception('mail failed'); 
    }else{ 
     echo 'mail sent'; 
    } 
}catch(Exception $e){ 
    echo $e->getMessage() ."\n"; 
} 
?> 

從我scripts.js中

//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:'bin/MailHandler.php', 
       ownerEmail:'[email protected]', 
       stripHTML:true, 
       smtpMailServer:'localhost', 
       targets:'input,textarea', 
       controls:'a[data-type=reset],a[data-type=submit]', 
       validate:true, 
       rx:{ 
        ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, 
        ".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(){ 
$('#ContactForm').forms({ 
    ownerEmail:'#' 
}) 
}) 

回答

1

在你scripts.js中找到這一行OWNEREMAIL: '#'

和在這個領域,你給你自己的電子郵件,如ownerEmail:'[email protected]'

0

您需要將您的電子郵件地址放在您的索引頁面(或contact.html)腳本加載。 尋找:

<script> 
    $(function(){ 


     // Initialize Contact Form 
     $('#YOUR_FORM_ID').forms({ 
      ownerEmail:'#' //CHANGE # TO YOUR E-MAIL 
     }); 
    }) 
</script>