将jquery和html发送到AJAX或php,然后将其发送到邮件

时间:2013-08-21 10:43:10

标签: php jquery html ajax .post

这将是一个问题表格。

我的问题是如何将填好的复选框和估计价格发送到我的电子邮箱。我只想复制整个表格并将其发送到我的邮箱。

现在链接到表单:http://magnusaga.com/skjema/mailsend.php

HTML:

<form id="ContactForm"  action="/mail.php" >

 <p>   <input type="checkbox" id="waterdm" name="waterdm" value="10" />Water Damage</p>

  <p>  <input type="checkbox" id="screendm" name="screendm" value="20" />Screen Damage</p>

  <p>  <input type="checkbox" id="Chargerdm" name="Chargerdm" value="30" />Charger Damage</p>

   <p>   <input type="checkbox" id="hdphdm" name="hdphdm" value="10" />Headphone Damage</p>
<p>Calculated Price:
    <input type="text" name="price" id="price" />
        <input type="text" name="days" id="greater" />

</p>
  <input class="submit" value="send"/>
      <div class="form_result"> </div>
           <div class="day_result"> </div>
</form>

jquery:

<script>

$(document).ready(function () {
    var $inputs = $('input[type="checkbox"]')
    $inputs.on('change', function () {
        var sum = 0;
        $inputs.each(function() {
           if(this.checked)
               sum += parseInt(this.value);
        });

                if(sum > 30)
            $("#greater").val("3 days");
        $("#price").val(sum);   

    });



});

</script>

我想我必须把它附加到php。

2 个答案:

答案 0 :(得分:0)

我可以推荐这个jquery插件。 Jquery Form

<script>
    $(document).ready(function(){
            $('#submit').click(function(){ 
                var queryString = $('#myform').formSerialize(); 
                // the data could now be submitted using $.get, $.post, $.ajax, etc 
                $.ajax({
                    type: "POST",
                    data: queryString,
                    success: function(data){
                        alert('Message Sent');
                    }
                });
            });
    });
</script>
<form id="form" action="" id="myform">
    <p>
        <input type="checkbox" id="waterdm" name="waterdm" value="10" />Water Damage</p>
    <p>
        <input type="checkbox" id="screendm" name="screendm" value="20" />Screen Damage</p>
    <p>
        <input type="checkbox" id="Chargerdm" name="Chargerdm" value="30" />Charger Damage</p>
    <p>
        <input type="checkbox" id="hdphdm" name="hdphdm" value="10" />Headphone Damage</p>
    <p>Calculated Price:
        <input type="text" name="pris" id="price" />
    </p>
    <p>Estimated days:
        <input type="text" name="dager" id="greater" />
    </p>
    <input type="submit" value="send" id="submit"/>
    <div class="form_result"></div>
    <div class="day_result"></div>
</form>

PHP代码:

$message = "";
foreach($_POST as $k => $v){
    $v = strip_tags($v);
    $message .= "<p>$k:$v</p>";
}

答案 1 :(得分:0)

有两种方法可以将此邮件发送给您:使用普通表单,将其发送到运行PHP的服务器,使用PHP将其处理为eMail文本,然后使用PHP mail()命令将其发送给您

另一种方式更基本,你将mailto:me@myself.com设置为HTML表单中的操作,并将表单编码设置为“text / plain”,“application / x-www-form-urlencoded”或“ multipart / form-data“取决于您的需求。但是,要求用户配置邮件程序并点击以使邮件程序发送电子邮件。

第三种方法,使用jQuery.post将表单发送到服务器也是可能的,但包括额外的处理,这可能是不必要的。