从Uncaught SyntaxError: Unexpected token Error
切换到input box
后,我遇到以下textarea
的问题。尝试在提交后删除输入文本区域的文本时会发生此错误。
textarea的:
<textarea name="chatter"></textarea>
函数调用:
<a href='javascript:void(0);'
onClick='deletecmnt(this, '".$val['id']."', '".BASE_URL."');'
title='Delete Chatter'>X</a>;
删除功能:
function deletecmnt(obj, cmt_id, baseurl){
var lg_chk = loginchk();
if(lg_chk){
var object = $(obj).parent().parent();
$.ajax({
type: "GET",
// error: function(error){console.log("Error:");console.log(error);},
url:baseurl+'deletechatter.php?id='+cmt_id,
dataType:'json',
success:function(response){
object.remove();
}
});
}
else
location.href=baseurl;
}
好的,所以在Chrome内部我收到上述错误但在Firefox中我收到以下内容:
SyntaxError: syntax error
deletecmnt(this,
但是,我没有看到它有什么问题,当我使用输入框时它起作用了。我甚至把它换回来了,它的功能是什么呢?它的功能是什么呢?请让我知道我做错了什么。
这是我到目前为止所得到的:
<a data-id='".$val['id']."' data-base-url='".BASE_URL."' href='javascript:void(0);' title='Delete Chatter'>x</a>
<script>$("a[title='Delete Chatter']").on('click', deletecmnt);</script>
function deletecmnt(obj, cmt_id, baseurl){
var lg_chk = loginchk();
if(lg_chk){
var object = $(this).parent().parent();
$.ajax({
type: "GET",
// error: function(error){console.log("Error:");console.log(error);},
url:baseurl+'deletechatter.php?id='+cmt_id,
dataType:'json',
success:function(response){
object.remove();
}
});
}
else
location.href=baseurl;
}
答案 0 :(得分:1)
报价错误:
onClick='deletecmnt(this, "'.$val['id'].'", "'.BASE_URL.'");'
了解如何打开和关闭单引号。
答案 1 :(得分:1)
你过早地关闭了撇号:
deletecmnt(this,
...成为整个onclick
。因为你正在使用jQuery,所以与它绑定更有意义(即使你不是,我仍然建议你用JS)。
$("a[title='Delete Chatter']").on('click', deletecmnt);
您可以更新deletecmnt
,以便它引用this
,这将是锚点。此外,更新锚点以将ID和BASE_URL存储为DOM的一部分,可能包含:
<a data-id='".$val['id']."' data-base-url='".BASE_URL."'