Javascript`onclick`不';不能在单独的JS文件中工作
我必须删除一些答案,所以我使用了onclick事件。此事件仅在脚本标记内的同一html页面中起作用,但在单独的js文件中不起作用 editquestion.phpJavascript`onclick`不';不能在单独的JS文件中工作,javascript,php,codeigniter-3,Javascript,Php,Codeigniter 3,我必须删除一些答案,所以我使用了onclick事件。此事件仅在脚本标记内的同一html页面中起作用,但在单独的js文件中不起作用 editquestion.php user.js 函数deleteAnswer(uid,value){ //警报(uid); 如果(值=='old'){ $(“#答案#形式#组#”+uid.empty().hide(); $(“#答案(表格)组uu”+uid); }否则{ $(“#答案#形式#组#”+uid).remove(); } } 函数addans(){ $
user.js
函数deleteAnswer(uid,value){
//警报(uid);
如果(值=='old'){
$(“#答案#形式#组#”+uid.empty().hide();
$(“#答案(表格)组uu”+uid);
}否则{
$(“#答案#形式#组#”+uid).remove();
}
}
函数addans(){
$('.addans')。取消绑定(“单击”);
$('.addans')。在(“单击”,函数(e){
if(($('ansform').find('form group').length>4)和($('sel1').val()=='multiplechoice'))||
($(“#ansform”).find(“.form group”).length>1)和($(“#sel1”).val()||
($(“#ansform”).find(“.form group”).length>4)和($(“#sel1”).val()==”multipleselect”)){
noty({text:'您的超出了最大限制',键入:'error',model:true,timeout:1000});
}否则{
if($(“#ansform”).find(“.form group”).length>0)和($(“#sel1”).val()==”){
noty({text:'select Type of Question',Type:'warning',model:true,timeout:1000});
}否则{
var uid=generateUid();
变量输入类型=($(“#sel1”).val()==“multiselect”)?“复选框”:“收音机”;
$('#ansform')。附加(
''+
''+
''+' '+
''+
''+' '+
''+
''+
''
);
}
e、 预防默认值();
}
});
}
函数deleteAnswerOption(){
$(“#ansform”).off('单击','回答删除');
$('#ansform')。在('单击','回答删除',函数(e){
e、 预防默认值();
//警报($(this.parent().parent().parent().attr('class'));
//$(this.parent().parent().parent().remove();
});
}
所有其他函数都正常工作,但只有此函数显示错误,如uncaughtreferenceerror:deleteAnswer未定义
在htmlanchoreElement.onclick上,单击
尝试使用document.ready()
}))
或
确保您将其放入html的头部部分,如下所示
只需将src=“path/to/script.js”替换为js文件的名称。如果它在同一个文件夹中,你不需要把任何东西,除了这个
"<script type="text/javascript" src="script.js"></script>"
“”
同样,script.js需要替换为js文件的名称deleteAnswer(uid,value)
需要两个参数uid
和value
在代码中,您通过PHP代码段将第一个参数传递到echo
某个值,其中包含if
子句。如果PHP代码片段不回显任何内容,会发生什么?确切地密码会被破解
建议:请在PHP代码段中插入else
子句,该子句应回显空字符串文字
不客气:)试试这段代码
$(document).ready(function(){
$('body').on('click','.addans',function(){
alert('Hello Clieck me')
})
})
要检查实际错误,请执行以下步骤:
- deleteAnswer函数没有全局定义,因此需要全局定义
- 在中定义所有javascript代码 $(document).ready(函数(){***您的javascript代码********})
您是否在html中包含js文件?如果是在哪里?这看起来只是HTML的一部分。
#答案#表格(组)*
元素在哪里?我还建议您尝试删除任何PHP代码,并在codepen或JSFIDLE之类的地方为这些代码制作一个示例,供人们进行测试。检查user.js
在jquery
library之后的位置如果PHP没有回显任何内容怎么办?您是否100%确定$option->answerId
不等于'
,因此它echo
将其删除?因为deleteAnswer(uid,value)
包含两个参数,所以如果PHP不返回任何内容,那该怎么办?还要确保函数的范围可以从HTML文档中访问。但是答案id正在生成。并在同一页面内使用脚本标记有时JavaScript找不到任何html标记。添加的机构,然后工作正常
$( document ).ready(function() {
//Paste your functions inside this
$(function() {
//Paste your functions inside this;
});
"<script type="text/javascript" src="script.js"></script>"
$(document).ready(function(){
$('body').on('click','.addans',function(){
alert('Hello Clieck me')
})
})