0
好的,所以我有一些小問題。 我有一個JavaScript/DOM腳本,通過ajax提交用戶評論到一個php頁面,並且在那裏它非常出色。Javascript功能不能正常工作
但現在我需要在另一頁上實現它,稍有不同。並且不能縫合以使其工作。如果有人能幫我指出我的錯誤,將不勝感激。
HTML部分:
<form name="comment-form-<?php echo $comment['comment_id'];?>" id="comment-form-<?php echo $comment['comment_id'];?>" method="POST">
<div id="comments-approval">
<h1><?php echo $article['naslov'];?></h1>
<h2><?php echo $comment['comment_text'];?></h2>
<h3>[<?php echo date('d\. m\. Y\. H:i', $comment['comment_time']);?>] --- [ <?php echo $comment['comment_name'];?> ]</h3>
</div>
<input type="hidden" name="article_id" id="article_id" value="<?php echo $comment['comment_article_id'];?>" />
<input type="submit" value="✗" onclick="remove_comment('comment-form-<?php echo $comment['comment_id'];?>'); return false;" /> <!-- IKS -->
<input type="submit" value="✔" onclick="add_comment('comment-form-<?php echo $comment['comment_id'];?>'); return false;" /> <!-- OTKACENO -->
</form>
的PHP的foreach有N個數量的形式創建後,和各種形式都有它自己獨特的ID
按鈕上主持人的點擊和調用後函數ether ADD或REMOVE,它們通過按鈕所在的表單ID發送。
JavaScript部分:
function add_comment(formid){
var target = String('"#'+formid+'"');
$(target).submit(function(){
$.ajax({
type: "POST",
url: "approvecomment.php",
data: $(this).serialize(),
dataType: 'text',
success: function(msg){
switch(msg) {
//message
}
}
});
return false;
});
}
我知道,也許這是一個愚蠢的錯誤,但我真的沒有什麼線索,我做錯了。
編輯:
JavaScript部分:
function add_comment(formid){
var target = '#'+formid;
alert(target);
$(target).submit(function(){
alert($(this).serialize());
$.ajax({
type: "POST",
url: "approvecomment.php",
data: $(this).serialize(),
dataType: 'text',
success: function(msg){
switch(msg) {
//message
}
}
});
return false;
});
}
好了,第一次警報的帖子#comment-form-1
而第二什麼都不做。
以及ID爲comment-form-1
的表單存在於文檔中。
請提供實際問題。你得到一個JS錯誤?它是否通過ajax打開文件,但沒有返回?......等。花幾分鐘調試你的代碼,然後包含這些結果。 – Dave
問題是該功能未進入SUBMIT部分。只需跳過它並刷新表單即可。我已經做了一個檢查步驟,只是一個簡單的alert(),當它進入該部分時,但沒有。 – Vladimir
@Vladimir - 從症狀它聽起來像一個Javascript錯誤的地方。一定要檢查你的控制檯是否有錯誤。 –