1

シリアル化を使用してフォーム データを、そのデータを使用して電子メールを送信する別のページに送信しようとしています。プロセス ページにデータを送信する代わりに、フォーム ページのクエリ文字列にデータを追加します。ajax クエリに正しい URL を含めたので、なぜこれが起こっているのかわかりませんか?

これが私のコードです:

<form id="idForm">
<div>
    <label>Your name:</label>
    <input type="text" name="customerName" />
</div>

<div>
    <label>Your email address:</label>
    <input type="text" name="customerEmail" />
</div>

<div>
    <label>Details about your enquiry:</label>
    <textarea name="customerRequest" cols="45" rows="4"></textarea>
</div>
<input type="hidden" name="propertyid" value="@rPropertyId">
<button id="submitButtonId" type="submit" class="btn btn-default" value="Submit">Submit</button>

</form>

<script>
$(document).ready(function () {
    $("#submitButtonId").click(function() {
    var url = "~Email/BookingEnquiry";
        $.ajax({
            url: url,
            data: $("#idForm").serialize(), // serializes the form's elements.
       success: function(data)
       {
           alert(data); 
       }
     });

return false; 
    });
}:;

</script>

多数のオンライン フォーラムから、「リターン フラッシュ」要素も含めるようにアドバイスされましたが、これが問題になる可能性はありますか?

4

2 に答える 2

0

申し訳ありませんが、古い回答を削除しました。どこかに構文エラーがあるようです (見つけられません)。

これは私がそれを行う方法でした。私はあまりプログラミングしていませんが、それを行うには問題ないと思います。何か手伝えることがあれば聞いてください

<form id="idForm">
<div>
    <label>Your name:</label>
    <input type="text" id="customerName" />
</div>

<div>
    <label>Your email address:</label>
    <input type="text" id="customerEmail" />
</div>

<div>
    <label>Details about your enquiry:</label>
    <textarea id="customerRequest" cols="45" rows="4"></textarea>
</div>
<input type="hidden" id="propertyid" value="@rPropertyId">
<button id="submitButtonId" type="submit" class="btn btn-default" value="Submit">Submit</button>

</form>

<script>
$(document).ready(function () {
    $('#idForm').submit(function (){ // If the form was submitted
        var customerName = $('#customerName').val(), // All the values from the fields...
            customerEmail = $('#customerEmail').val(), //
            customerRequest = $('#customerRequest').val(), //
            propertyid = $('#propertyid').val(); //
        $.post("PATH/FILENAME.php", // The php-file to process the data
            {
            // In the php-file, use $_POST['customerName']; --> etc
            customerName : customerName, // all the values + their names
            customerEmail : customerEmail,
            customerRequest : customerRequest,
            propertyid : propertyid 
            },
            function(data){ // What to do with the data when finished.
            alert(data); // Data is the same as whats beeing echo'ed in the php-script
        });
    });
});
</script>
于 2013-09-26T09:40:53.490 に答える