Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript`onclick`不';不能在单独的JS文件中工作_Javascript_Php_Codeigniter 3 - Fatal编程技术网

Javascript`onclick`不';不能在单独的JS文件中工作

Javascript`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(){ $

我必须删除一些答案,所以我使用了onclick事件。此事件仅在脚本标记内的同一html页面中起作用,但在单独的js文件中不起作用

editquestion.php

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')
  })
})

要检查实际错误,请执行以下步骤:

  • 转到editquestion.php页面的浏览器控制台(按f12键)。 2.填写删除答案(“xyz”和“);然后按回车键 3.如果它将给出相同的“deleteAnswer未定义错误”,则将出现两种情况四此错误,否则它将工作

    • deleteAnswer函数没有全局定义,因此需要全局定义
    • 在中定义所有javascript代码 $(document).ready(函数(){***您的javascript代码********})
  • 如果这不起作用,那么在浏览器控制台中检查,锚定标记将不具有适当的deleteAnser函数,可能是您的php脚本破坏了函数语法


  • 您是否在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')
      })
    })