したがって、次のようなphpループから作成される配列があります。
echo '<input type="checkbox" name="types[]" id="types[]" value="' . $id . '"> ' . $type . '<br>';
そして、それをphpに渡すだけで機能しますが、いくつかの更新を行い、それをajaxに渡してphpに渡したいので、ajaxにページで派手なリターンをさせることができます。
私はそれをajaxに渡してphpに渡すためにあらゆる種類の方法を試しましたが、何も機能しません。
ajax コードは次のとおりです。
jQuery(document).ready(function(){
$('#contactform').submit(function(){
var action = $(this).attr('action');
$("#message").slideUp(750,function() {
$('#message').hide();
$('#submit')
.after('<img src="assets/ajax-loader.gif" class="loader" />')
.attr('disabled','disabled');
$.post(action, {
types['types[]']: $('#types').val(),
form_name: $('#form_name').val(),
site_id: $('#site_id').val()
},
function(data){
document.getElementById('message').innerHTML = data;
$('#message').slideDown('slow');
$('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
$('#submit').removeAttr('disabled');
if(data.match('success') != null) $('#contactform').slideUp('slow');
}
);
});
return false;
});
});
サイトの残りの部分は同じ機能を使用しているため、これも機能させようとしています。これを同じ方法で維持したいと考えています。すでに作成されたページで他の ajax を削除する必要はありません。
したがって、どんな洞察も大歓迎です。
ありがとう
編集/更新:
したがって、Meagerが説明したように行を設定した後:
echo '<input type="checkbox" name="types[]" class="types" value="' . $id . '"> ' . $type . '<br>';
そして、ajax コードを次のように調整します。
$.post(action, {
form_name: $('#form_name').val(),
site_id: $('#site_id').val(),
types: $('.types').map(function(){ $(this).val(); });
},
ajax をバイパスして、process.php ファイルに次のように投稿しているようです。
Array
(
[types] => Array
(
[0] => 20
[1] => 21
[2] => 22
)
[site_id] => 112
[form_name] => prd_svc
[Submit] => Submit
)
==========================================
jQuery(document).ready(function(){
$('#contactform').submit(function(){
var action = $(this).attr('action');
$("#message").slideUp(750,function() {
$('#message').hide();
$('#submit')
.after('<img src="assets/ajax-loader.gif" class="loader" />')
.attr('disabled','disabled');
$.post(action, {
form_name: $('#form_name').val(),
site_id: $('#site_id').val(),
types: $('.types').map(function(){ $(this).val(); });
},
function(data){
$('#message').html(data);
$('#message').slideDown('slow');
$('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
$('#submit').removeAttr('disabled');
if(data.match('success') != null) $('#contactform').slideUp('slow');
}
);
});
return false;
});
});