根据选择发送电子邮件(带文件上传)

时间:2014-08-16 21:32:40

标签: javascript html wordpress

我试图为我的网站创建一个页面,学生必须从大约10个选项中选择3个或更少(多个选择)。他们还需要在此下方上传文件。当他们最后点击提交时,它会根据他们的选择(10个选择中的3个或更少)将他们上传的文件发送到多个电子邮件地址(甚至是特定的单个电子邮件地址)。

有人可以帮帮我吗?我对HTML有很好的了解,但我不了解JavaScript,因此我很难搞清楚它。我在互联网上查了各种帖子,但我找不到非常相似和有用的东西。

另外,我正在使用WordPress,因为我需要在页面中添加Javascript,所以我安装了一个名为Exec-PHP Plugin的插件。它似乎有效,但请让我知道你的意见。

非常感谢,非常感谢任何帮助!

编辑:这是我试过的代码。这是我在浏览各种帖子时发现的。它不完全是我在这个问题中提到的,因为就像我之前提到的,我之前没有任何关于JavaScript的知识。在这里,它基本上应该基于单个下拉选择向电子邮件发送消息。我尝试过,但它没有用(我更改了目标电子邮件)。 谢谢!

 <form id="contactForm" method="post" accept-charset="utf-8">
        <input id="name" type="text" name="name" minlength="2" placeholder="Your Name&hellip;" required>
        <input id="email" type="email" name="email" placeholder="Your Email&hellip;" required>
        <input id="name2" type="text" name="name2" placeholder="Your Last Name&hellip;" required>
        <select id="department" type="text" name="department">
          <option value="customer" name="customer">I am a customer</option>
          <option value="distribution" name="distribution">department in distribution</option>
          <option value="press" name="press">I am with the press</option>
          <option value="career" name="career">department in a career position</option>
          <option value="other" name="other">Other</option>
        </select>
        <textarea name="message" placeholder="Your Message&hellip;" required></textarea>
        <input type="submit" value="Send away!">
    </form>
    <?php

// We use the name2 field as bait for spambots.  It's display is off,
// so humans wouldn't know to enter anything into it.  Robots would, 
//  so we ignore submissions with info in name2.

$mail_sent = false;

if(sizeof($_POST) && $_POST["name2"] == "") // receiving a submission
{   
    define("SUBJECT",   "Visitor Message from Website");

    // production recipient:
    define("RECIPIENT", ".$department.");

    // prep our data from the form info
    $senderName     = $_POST['name'];
    $senderEmail    = $_POST['email'];
    $department     = $_POST['department'];
    $subject        = SUBJECT; 
    $messageBody    = $senderName . ' ('.$senderEmail.') wrote in '.$department.':

' . $_POST['message'];

    if($department == 'customer') { //if customer was selected
    $to = 'customer@gmail.com';
    }

    else if($department == 'distribution') { //if distribution was selected
    $to = 'distribution@email.com';
    }

    else if($department == 'press') { //if press was selected
    $to = 'press@email.com';
    }

    else if($department == 'career') { //if career was selected
    $to = 'career@email.com';
    }

    else if($department == 'other') { //if other was selected
    $to = 'other@email.com';
    }

    // From 
    $header         = "from: $senderName <$senderEmail>";

    // To
    $to = RECIPIENT;

    // Send it!
    $send_contact = mail($to, $subject, $messageBody, $header);

    // Check success of send attempt
    if($send_contact){
        // show thankyou screen
        $mail_sent = true;
    }
    else {
        // send failed.
        echo "ERROR";
    }
}

?>

1 个答案:

答案 0 :(得分:0)

我没有给你的示例代码,但粗略地说,它会是这样的:

<html>
<head>
   <script type="text/javascript">
   function my_js_submit()
   {
       // check the email input fields that you care about.
       if(document.getElementById("email1").value != "" &&
          document.getElementById("email2").value != "" && 
          document.getElementById("email3").value != "")
       {
           document.forms["my_form"].submit(); //this will call the php where you do 
                                            //emailing
       }
       else
       {
          alert("Please fill in all three emails");
       }
   }
   </script>
</head>
<body>

<!-- submit_handler.php is where you send emails -->
<form id="my_form: method="post" action="submit_handler.php">

<input type="text" id="email1"  />
<input type="text" id="email2"  />
<input type="text" id="email3"  />    
<input type="text" id="message" />
<button onclick="my_js_submit();"> Submit </button>

</form>

</body>
</html>

PHP最基本的代码(将此文件命名为submit_handler.php):

<?php
    $to = $_POST['email1'] . "; " .  $_POST['email2'] . "; " .  $_POST['email3'];

    $subject = "Email subject"; 

    $message = $_POST['message']; 

    $from = "From: your_email@yourDomain.com"; 

    mail($to,$subject,$message,$from); // The Mail function at work

    // Redirect your user to a page of your choice 
    header("Location: http://www.some_page.com"); 

&GT;