PHPの変数をjQueryで変更したい
$(追加ボタン).click(function(){
var len = $('.item').length;
var new = '<div class="item"><input name="form' + len + '" class="form" value="<?php if(isset($form '+ len +')) echo $form '+ len +'; ?>"/><span class="del_b"></span></div>';
$('').before(new);//追加場所
$('.del_b').remove();
len++;
for(var i=0; i<len; i++){
var new_del = '<span class="del_b"><a id="del"></a></span>';
$('.item:eq(' + i + ')').append(new_del);
}
});
$('#del').live('click', function(){
var del = $(this).parent().index();
$('.item:eq('+ del +')').remove();
var len = $('.item').length;
if(len == 1) $('#del').remove();
for(var i=0; i<=len; i++){
$('.item:eq(' + i + ') .form-a').attr('name', 'form' + i);
}
});
以上のような形の増減するフォーム(見た目と動作はGoogleカレンダーのアラートと同じ)をwordpressで作りましたが、<?php ?>の中のlenが当然ですがエラーになります…
PHPの変数$formにもjQuery.lengthの数字を後ろに付けたいです。
また、削除時にも同じようにlengthで数字を振り直したいです。
このようにPHPとjQueryを連携する場合、どう書くのが正しいのでしょうか。
わかりにくい説明になってしまいましたが、どなたかご教授ください。
PHPは別ファイルにしAjaxを利用すればいいのではないでしょうか?
var form_value = "";
var len = $('.item').length;
$.ajax({
type: "POST",
url: "form.php",
data: {val : len},
success: function(result){
form_value = result;
}
});
$form = "hoge";
$len = $_POST['val'];
if (isset($form . $len)) {
$result = $form . $len;
}
header('Content-type: application/json');
echo json_encode($result);
この様な感じでいかがでしょう?