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错误的地方。一定要检查你的控制台是否有错误。 –