2016-04-14 13 views
1

Önerilen şekilde arandım ama form sürümümün neden çalışmadığını bulamadım. İsim, e-posta, telefon, bir seçim seçeneği ve bir textarea girdisinde bir mesaj toplayan bir form var. Select girdisinde seçilen kullanıcı seçeneğine bağlı olarak textarea ve action php'yi değiştiriyorum.textarea ve selector seçeneği e-postaya gönderilmiyor

Form contentse'ye e-posta göndermek için PHP'yi kullanıyorum. Ben hariç TÜM alanları olsun: -Message/Yorumlar

HTML

<!-- Career Form --> 
<form id="careerContactForm" role="form" action="" method="post" enctype="multipart/form-data"> 
    <!-- $name --> 
    <div class="row form-group"> 
    <div class="col-md-8 col-md-offset-2 required"> 
     <label for="contact-name">Full Name</label> 
     <input type="text" name="name" class="form-control" id="contact-name" placeholder="Full Name" required> 
    </div> 
    </div> 
    <!-- $email --> 
    <div class="row form-group"> 
    <div class="col-md-4 col-md-offset-2 required"> 
     <label for="contact-email">Email</label> 
     <input type="text" name="email" class="form-control" id="contact-email" placeholder="Email" required> 
    </div> 
    <!-- $phone --> 
    <div class="col-md-4 required"> 
     <label for="contact-phone">Phone Number</label><br /> 
     <input type="text" class="form-control bfh-phone" data-country="US" id="contact-phone" name="phone" placeholder="Phone Number" required> 
    </div> 
    </div> 
    <!-- $who --> 
    <div class="row form-group"> 
    <div class="col-md-8 col-md-offset-2 required select-wrapper"> 
    <!-- Contact --> 
     <label for="contact-who">Who are you trying to contact?</label> 
     <select class="selectorWho form-control" name="who" required> 
     <option value="None"><em>--Please Select One--</em></option> 
     <option value="general">General</option> 
     <option value="HR/Careers">HR/Careers</option> 
     <option value="sales">Sales</option> 
     <option value="td">TDXperts</option> 
     <option value="Other">Other</option> 
     </select> 
    </div> 
    </div> 
    <!-- $interest --> 
    <div class="row form-group hidden uploadResume"> 
    <div class="col-md-8 col-md-offset-2 required select-wrapper"> 
    <!-- Career --> 
     <label>I'm looking for employment opportunities in…</label> 
     <select class="selector-career form-control" name="interest" required> 
     <option value="None"><em>--Please Select One--</em></option> 
     <option value="Accounting">Accounting</option> 
     <option value="Administration">Administration</option> 
     <option value="Finance">Finance</option> 
     <option value="general">General</option> 
     <option value="HR">HR</option> 
     <option value="IT">IT</option> 
     <option value="Logistics & Customs Affairs">Logistics & Customs Affairs</option> 
     <option value="Marketing">Marketing</option> 
     <option value="Purchasing">Purchasing</option> 
     <option value="Sales">Sales</option> 
     <option value="Supply Chain Planning">Supply Chain Planning</option> 
     <option value="Warehouse">Warehouse</option> 
     <option value="Other">Other</option> 
     </select> 
    </div> 
    <div class="col-md-8 col-md-offset-2 required"> 
     <label for="uploadResume">Upload Your Resume</label> 
     <input type="file" name="resume" id="resume-upload"> 
     <p class="help-block"><em>You must choose a valid file. We accept .doc, .docx, .pdf, .rtf and .txt files</em></p> 
    </div> 
    </div> 
    <!-- Career Submit: hide/show --> 
    <div class="row form-group"> 
    <div class="col-md-8 col-md-offset-2 hidden careerContact"> 
     <!-- Contact --> 
     <label for="contact-message">Questions or Comments</label> 
     <textarea name="message" cols="50" rows="6" id="contact-message" class="form-control" placeholder="Would you like to include any more information?" ></textarea> 
    </div> 
    <div class="col-md-8 col-md-offset-2 hidden contactMessage"> 
     <!-- Career --> 
     <label for="career-message">Message</label> 
     <textarea name="comments" cols="50" rows="6" id="career-message" class="form-control" placeholder="Your message..." ></textarea> 
    </div> 
    </div> 
    <div class="row form-group"> 
    <div class="col-md-8 col-md-offset-2"> 
     <button type="submit" class="btn">Send message</button> 
    </div> 
    </div> 
</form> 

JS (yani göstermek/gizlemek textareas ve göstermek/gizlemek dosya yükleme iletişim)

$(document).ready(function(e) { 
$(".selectorWho").on('change', function(e) { 
    e.preventDefault(); 
    var uploadResume = $('.uploadResume'); 
    var comments = $('.contactMessage'); 
    var careerComments = $('.careerContact'); 
    if (this.value == "HR/Careers") { 
     uploadResume.slideDown().removeClass("hidden"); 
     careerComments.removeClass("hidden"); 
     comments.addClass("hidden"); 
     var action = "do/careers-submit.php"; 
     var submitButton = 'career-submit'; 
    } else { 
     uploadResume.slideUp().addClass('hidden'); 
     careerComments.addClass('hidden'); 
     comments.removeClass("hidden"); 
     var action = "do/contact-submit.php"; 
     var submitButton = 'contact-submit'; 
    } 
    $("#careerContactForm").attr("action", action); 
}); 
}); 

PHP (eylemlerden biri için)

<?php 
    require("../classes/class.phpmailer.php"); 
    $mail = new PHPMailer(); 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $phone = $_POST['phone']; 
    $who = $_POST['who']; 
    $interest = $_POST['interest']; 
    $comments = $_POST['comments']; 

    $mail->IsSMTP(); 
    $mail->From  = "$email"; 
    $mail->FromName = "$name"; 
    // $mail->AddAddress("[email protected]","Tireco HR"); 
    $mail->AddAddress("[email protected]","Tireco HR"); 
    $mail->Subject = "New Resume Submission"; 
    $mail->Body  = "Name:\n $name\n\n\nPhone:\n $phone\n\n\nEmail:\n $email\n\n\nContacting:\n $who\n\n\nInterested In:\n -$interest\n\n\nQuestions/Comments:\n $comments"; 

    if (isset($_FILES['resume']) && 
     $_FILES['resume']['error'] == UPLOAD_ERR_OK) { 
     $mail->AddAttachment($_FILES['resume']['tmp_name'], 
         $_FILES['resume']['name']); 
    } 

    $mail->WordWrap = 50; 

    if(!$mail->Send()) { 
     echo 'Message was not sent.'; 
     echo 'Mailer error: ' . $mail->ErrorInfo; 
    } else { 
     header('Location: ../thankYou.html') ; 
    } 
?> 

Bu yüzden, dışındaki tüm alanlara mesaj/yorumlar textarea metni için olsun. + BT File + Mesajı yükle

ben bir İK/Kariyer gönderdiğinizde tıkladıysanız, ben ne elde gördüm click here

Ben e-posta almak görmek istiyorsanız> ... mesaj atlandı.

Yardımlarınız için şimdiden teşekkür ederiz.

VS Eğer seçme kutusu bir isim değil seçeneği vermek gerekir

+0

Bu kod ne yapmıyor? Ne tür bir sonuç beklediğinizi alıyorsunuz? PHP hataları açık mı? – Sparky256

+0

Cevabınız için teşekkür ederiz. Bana e-posta, telefon, "faiz" (seçenek) ve bir coimments/mesaj e-postayla gönderilmesini istiyorum. Sadece isim, e-posta ve telefon ile bir posta alıyorum. Yorumlarla ve seçtikleri girdide seçtikleri seçenekle textarea'yı almam gerekiyor. PHP hatalarını nasıl açabilirim? –

+0

php'nize gidin.PHP dizininizdeki ini dosyası. Yaklaşık 250 ila 400 satır arasında 'Hata işleme ve günlük tutma' etiketli bir bölüm bulacaksınız. "Ortak Değerler" seçeneğine gidin ve "E_ALL & ~ E_NOTICE | E_STRICT" un unvanını kaldırın ve aşağıdaki metni kaldırın. Bu, bildirimler hariç tüm hataları gösterir. Bunun çalışması için yeniden önyükleme yapmanız gerekir. – Sparky256

cevap

0

.

Sen

Bu muhtemelen dosya yüklendi kontrol etmelidir dosya eki ile ilgili olarak

<select name="interest" id="interest" class="selector-career form-control" required> 

olması gerekiyor

<select id="interest" class="selector-career form-control" required> 

if (isset($_FILES['resume']) && 
    $_FILES['resume']['error'] == UPLOAD_ERR_OK) { 
    $mail->AddAttachment($_FILES['resume']['tmp_name'], 
         $_FILES['resume']['name']); 
} 
+0

_ $ message = $ _POST ['message']; _ sahip olduğum diğer eylem php dosyasındadır.İlk seçim kutusu seçimine göre eylem dosyalarını değiştiriyorum. "Yorumlar" koduna sahip olmama rağmen e-posta yoluyla geliyor "blank" –

+0

@ vs-works ah tamam, Bu yüzden seçtiğim kutudan birini yazmam gereken şeylerden birini düzeltmem gerekiyor. Eklerle ilgili olarak, muhtemelen dosya yükleme işleminin tamam olup olmadığını kontrol etmelisiniz. Cevabımı biraz daha güncelleyeceğim. kod – Brett

+0

Bu kod için teşekkürler. Ama ben textarea mesajları almayan ne hakkında? Bu beni şaşırtmakta olan kısmıdır –

0

Tamam Bu benim kullandığım ne var div/form sarmalayıcı içinde sahip olduğum seçicilerim için.
seçenek kapsayıcısını değil, seçeneğin bir dizinini seçmeniz gerekir.
Bu, yer kazanmak için çoğunu kaldırdığım Durumları seçmektir. Yapısına bakın ve kodunuzu değiştirin.
İstemcinizin seçtiği seçeneği işaretleyen köşeli parantezlere dikkat edin. "state_sel" seçilen öğeyi içeren değişkendir. Bir işlev çağrısı için düğmeyi dışarıda bıraktım.

<form id="state_opt" name="state_opt">&nbsp;State 
<select id="state_mgr" onChange="state_sel=document.state_opt.state_mgr.options[document.state_opt.state_mgr.selectedIndex].value;"> 
<option selected value="0">None</option> 
<option value="AL">Alabama 
<option value="MT">Montana 
<option value="WI">Wisconsin 
<option value="MO">Missouri 
<option value="WY">Wyoming 
</select> 
+0

değerine sahip olduğunu söyleyin. "Name" özelliğini kullanarak seçici ile ihtiyacım olanı elde ettim. Bu, kullanıcının PHP'mden e-posta yoluyla seçtiği ve gönderdiği değeri aktarabileceğini belirtmek için ihtiyacım olan şey. –