簡體   English   中英

如何使用JQuery和PHP使用POST提交attr值和表單值?

[英]How to submit attr value and form values with POST using JQuery and PHP?

所以我有一個帶有輸入框的表單和一個div類型的3,在點擊時突出顯示。 我試圖讓它提交屬性和“#email”值並通過PHP通過電子郵件發送給我。

這是我的HTML:

<form id="form" name="form" class="custompurchase" action="custom.php" method="post">
    <input type="email" id="email" name="email" maxlength="40" class="textbox2" placeholder="Email address" required/>
    <a class="customoption storage" onclick="activate(this, 'storage');" data-name="500GB HDD">
        ...
    </a>
    <a class="customoption storage" onclick="activate(this, 'storage');" data-name="1TB HDD">
        ...
    </a>
    <a class="customoption storage" onclick="activate(this, 'storage');" data-name="2TB HDD">
        ...
    </a>
</form>

這是我的JQuery:

$(function() {
    var form = $('#form');
    $(form).submit(function(event) {
        event.preventDefault();
        var email = $("#email").val();
        var storage = $(".customoptionactive.storage").attr("data-name");
        $.ajax({
            type: "POST",
            url: $(form).attr("action"),
            data: email, storage
        })
        .done(function(response) {
            ...
        });
    });
});

最后我的PHP:

<?php
    $emailto = "purchases@prismpc.net";
    $subject = "Custom PC";
    $email = $_POST['email'];
    $storage = $_POST['storage'];
    $entire = "Email: ".$email."\n"."Storage: ".$storage;
    mail($emailto, $subject, $entire);
?>

但是,當我看到電子郵件時,這就是我得到的:

Email:
Storage:

我究竟做錯了什么? 我需要設置dataType嗎? 非常感謝你的回答!

編輯:與類似問題不同,因為它是一個簡單的語法錯誤。

更改$.ajax上的data選項

 data: email, storage

 data: {email:email, storage:storage}

你可能想要使用FormData並將自定義數據附加到它,正如manta在這里指出的那樣: 通過JQuery AJAX一起發送FormData和String Data?

var formData = new FormData();
formData.append('storage', $(".customoptionactive.storage").attr("data-name"));

$.ajax({
    type: "POST",
    url: $(form).attr("action"),
    data: formData
})
.done(function(response) {
    ...
});

這將節省您手動添加這些輸入值的時間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM