2つの連絡フォームを持つサイトで作業しています。私はajax jqueryを使用してPHP経由でメールを送信しています。AJAX JQuery PHPメール送信フォーム
シングルフォームとjQueryを使用するとうまくいきます。
jQueryコードを貼り付けてフォーム2の変数ごとに変更すると動作しますが、最初のjQueryコードは空白の値を送信しています。
一度に1つのフォームだけが別のページのHTMLフォームで動作しています。
ご協力いただきありがとうございます。 jQueryのコード
var form=$('#contactform_forms');
var formMessages=$('#message');
$(form).submit(function(e){
$('#submit_btns')
.after('<img src="images/AjaxLoader.gif" class="loader" />')
.attr('disabled','disabled');
e.preventDefault();
var formData=$(form).serialize();
$.ajax({
type:'POST',
url:'contact.php',
data:formData
})
.done(function(response){
$(formMessages).removeClass('error');
$(formMessages).addClass('success');
$(formMessages).text('Thanks! Message has been sent.');
$(formMessages).fadeOut(10000);
$('#contactform_forms img.loader').fadeOut('slow',function(){$(this).remove()});
$('#submit_btns').removeAttr('disabled');
$('#contact_name').val('');
$('#contact_email').val('');
$('#contact_phone').val('');
$('#contact_message').val('');
}).fail(function(data){
$(formMessages).removeClass('success');
$(formMessages).addClass('error');
if(data.responseText!==''){
$(formMessages).text(data.responseText);
}else{
$(formMessages).text('Oops! An error occured.');
}
});
});
同じJSファイルとフォーム2のjQueryコード:
var form=$('#wholesalers_forms');
var formMessages=$('#message');
$(form).submit(function(e){
$('#submit_btns1')
.after('<img src="images/AjaxLoader.gif" class="loader" />')
.attr('disabled','disabled');
e.preventDefault();
var formData=$(form).serialize();
$.ajax({
type:'POST',
url:'wholesalers.php',
data:formData
})
.done(function(response){
$(formMessages).removeClass('error');
$(formMessages).addClass('success');
$(formMessages).text('Thanks! Message has been sent.');
$(formMessages).fadeOut(10000);
$('#wholesalers_forms img.loader').fadeOut('slow',function(){$(this).remove()});
$('#submit_btns1').removeAttr('disabled');
$('#hs_name').val('');
$('#hs_email').val('');
$('#hs_company').val('');
$('#hs_vat').val('');
$('#hs_address').val('');
$('#hs_postcode').val('');
$('#hs_city').val('');
$('#hs_phone').val('');
$('#hs_message').val('');
}).fail(function(data){
$(formMessages).removeClass('success');
$(formMessages).addClass('error');
if(data.responseText!==''){
$(formMessages).text(data.responseText);
}else{
$(formMessages).text('Oops! An error occured.');
}
});
});
Iは、上記の順序の両方を使用する:1つのI場合、完全に作動空の値と第二のフォームを送信します2番目のjQueryを削除し、最初のコードはうまく動作しますが、2番目には送信するコードがありません。
フォームと関連するjsの両方を含むHTMLを含む一般的なコードを貼り付けてください。 – quirimmo
jQueryコードを2回貼り付けてコピーするだけではいけません。両方のフォームで機能するように関数を書き直す必要があります。次に、どのサブミットボタンがクリックされたかによって適切に呼び出されます。 –
はいクリス、私は書き直しました、私は両方のコードを掲載しましたが、それは私のために働いていません。 –