私のforeachループで最初のフォームのみを送信する私のajax関数に問題があります。foreachループで最初のフォームを送信するだけです。
私はポスト/コメントシステムを持っていますが、各ポストの各コメントには個別のIDがあります。私はこれをajaxなしで使用すると、コメントはうまく提出され、正しいコメントにリンクされます。私はこれをAjaxで試してみると、ループの最初のフォームの最初のIDをサブミットすることしかできません。
$value->id
は、コメントが関連付けられる投稿のIDです。以下は
<form onsubmit="submitCmt(); return false;">
<div class="input-group">
<input style="border-radius: 0px; box-shadow:none; border-left: none; border-right:none;" class="form-control add-comment-input" placeholder="Add a comment..." type="text" id="postCmt">
<span class="input-group-btn">
<input type="hidden" id="post_id" value="<?= $value->id; ?>">
<input type="hidden" id="user_id" value="<?= $value->user_to; ?>">
<input type="hidden" id="logged_in_id" value="<?= $logged_in_id; ?>">
<button id="cmtBtn" class="btn btn-default" style="border-radius: 0px; box-shadow:none; border-right:none;">Post</button>
</span>
</div><!-- /input-group -->
</form>
そして、私のAjax機能である:
function submitCmt() {
var postCmt = _('postCmt').value;
var post_id = _('post_id').value;
var user_id = _('user_id').value;
var logged_in_id = _('logged_in_id').value;
_("cmtBtn").innerHTML = "<i class='fa fa-spinner fa-spin fa-fw'></i>";
var ajax = ajaxObj("POST", "process.php");
ajax.onreadystatechange = function() {
if (ajaxReturn(ajax) == true) {
_("cmtBtn").innerHTML = ajax.responseText;
}
}
ajax.send('postCmt='+ postCmt + '&post_id='+post_id + '&user_id=' + user_id + '&logged_in_id='+ logged_in_id);
}
私はアヤックスの使用に非常に新しいですが
は、以下のコメントフォームのための私のコードです。私は同様の投稿を見てきましたが、それを私のコードに効果的に適用するのに苦労しています。
ありがとうございます!サム
どこがループですか? – Imdad
'= $value-> id; ?> 'それは大丈夫ですか? – jonju
これは 'ajax'が非同期だから' for-loop'が – brk