2010-12-11 15 views
0

私は簡単な電子メール連絡フォームを持っていて、複数の入力フィールドを持っています。今は、フィールドの1つ(メッセージ)の値だけを送信します。フィールドからすべての情報を送信できるように、コードをどのように修正するのですか?私は約15の畑があります。ここでjQuery電子メールフォーム、フィールドからすべての情報を送信する方法?

は、コードは次のとおりです。

$('#submit').click(function(){ 

$.ajax({ 
type: "POST", 
url: "mail.php", 
data: ({email : $("#email").val(), message: $("#message").val()}), 
cache: false, 
error: function() { 

    alert('did not go thru'); 
    }, 
success: function(html){ 
//$("#response").fadeIn("slow"); 
$("#tab1").html(html); 
//setTimeout('$("#response").fadeOut("slow")',2000); 
alert('mail sent'); 
} 
}); 


}); 

答えて

0

データに残りのフィールドを追加しないのはなぜ?

+0

ええ、私はちょうどそれを試してみました。できます。今私が持っている唯一の質問は、フィールド値の間にブレークを追加して、電子メールにすべてが一緒ではないということです。 –

+0

すべてのフィールド値がサーバー側に転記されます。それはあなたがそこでそれらをどのように扱うかに依存します。 –

+1

それはあなたがmail.php内でやることでしょう。渡す値はフォームフィールドと似ていますので、フォームの投稿と同じ方法でメールをフォーマットしてください。 – charliegriefer

4

あなたの代わりにフォームにIDを与え、フォームのイベントを提出するコールバックを移動する場合は、あなたが簡単に自動的にフォーム全体を送信するためにSerializeメソッドを使用することができます。

$('#form-id').submit(function(){ 

$.ajax({ 
type: "POST", 
url: "mail.php", 
data: $(this).serialize(), 
cache: false, 
error: function() { 

    alert('did not go thru'); 
    }, 
success: function(html){ 
//$("#response").fadeIn("slow"); 
$("#tab1").html(html); 
//setTimeout('$("#response").fadeOut("slow")',2000); 
alert('mail sent'); 
} 
}); 


}); 
関連する問題