无法识别我定义的javascript函数
我有下面的函数(“submititle”),当按下按钮时会调用它。我有两个单选按钮,由“submittle”动态生成。当用户选择“否”单选按钮时,它会触发一个annonymous函数,该函数也会在其中调用另一个名为“getIndexOfObject”的函数。我的问题是,我一直得到以下错误:“uncaughtreferenceerror:getIndexofObject未定义”,即使我已经定义了它。我不明白如何解决这个问题无法识别我定义的javascript函数,javascript,Javascript,我有下面的函数(“submititle”),当按下按钮时会调用它。我有两个单选按钮,由“submittle”动态生成。当用户选择“否”单选按钮时,它会触发一个annonymous函数,该函数也会在其中调用另一个名为“getIndexOfObject”的函数。我的问题是,我一直得到以下错误:“uncaughtreferenceerror:getIndexofObject未定义”,即使我已经定义了它。我不明白如何解决这个问题 var titleArray = []; UploadMyScript.s
var titleArray = [];
UploadMyScript.submitTitle = function(id, callback){
console.log('button '+id + ' pressed');
//disable 'append' button.
document.getElementById(id).disabled = true;
var title_;
var titleToAttach = document.getElementById('txtArea_'+id).value;
if(titleToAttach == ''){
console.log('Please enter a title for this pdf');
// un-disable 'append' button
document.getElementById(id).disabled = false;
}else{
/*HANDLE WEBSERVICE CALL HERE FOR EACH TITLE*/
// Replace spaced in title with %20 (pubmed format for spaces)
searchterm_ = encodeURI(titleToAttach);
console.log('searchterm_: '+ searchterm_);
//AJAX CALL
var formdata = new FormData();
formdata.append('titleSearchParam', searchterm_);
// Create XMLHttprequest
var xmlhttp = new XMLHttpRequest;
console.log('pass0000');
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
console.log('greetings form inside onreadystate');
/*RESPONSE TO AJAX CALL HERE*/
var json_obj = JSON.parse(event.target.responseText);
console.log('responseText: '+ event.target.responseText);
var json_obj = JSON.parse(xmlhttp.responseText);
console.log('responseText: '+ xmlhttp.responseText);
if(json_obj == null || json_obj.title == null){
title_ = titleToAttach;
callback(id, title_);
console.log('null, title: ' + title_);
}else{
.......
var radio_no = document.createElement('input');
radio_no.setAttribute('id', 'radio_no_'+id);
radio_no.type = 'radio';
radio_no.name = 'article';
radio_no.value = '0';
radio_no.addEventListener('click', function(){
// Remove this object from the titleArray
var indexOfObject = getIndexofObject(id, titleArray);
titleArray.splice(indexOfObject, 1);
console.log('titleArray below after splice: ');
console.log(titleArray);
});
}
}
}
xmlhttp.open("POST", "upload_myfiles.php");
xmlhttp.send(formdata);
}
}
// Find the Index of a 'title_fileName' object in titleArray
function getIndexOfObject(id, array){
var id_toMatch = UploadMyScript._('paraHeading_'+id).dataset.uniq_id;
for(i=0; i< array.length ; i++){
if(id_toMatch == array[i]['uniq_id']){
return i;
}
}
}
var titleArray=[];
UploadMyScript.submititle=函数(id,回调){
console.log('按钮'+id+'按下');
//禁用“附加”按钮。
document.getElementById(id).disabled=true;
var title\u0;
var titleToAttach=document.getElementById('txtArea_u'+id.).value;
如果(滴定滴定度=“”){
log('请为此pdf输入标题');
//取消禁用“附加”按钮
document.getElementById(id).disabled=false;
}否则{
/*在此处为每个标题处理WEBSERVICE调用*/
//将标题中的空格替换为%20(用于空格的pubmed格式)
searchterm=编码URI(titleToAttach);
log('searchterm\:'+searchterm\');
//AJAX调用
var formdata=new formdata();
formdata.append('titleSearchParam',searchterm_);
//创建XMLHttprequest
var xmlhttp=新的XMLHttpRequest;
console.log('pass0000');
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
log(“onreadystate内部的问候语表单”);
/*这里是对AJAX调用的响应*/
var json_obj=json.parse(event.target.responseText);
log('responseText:'+event.target.responseText);
var json_obj=json.parse(xmlhttp.responseText);
log('responseText:'+xmlhttp.responseText);
if(json_obj==null | | json_obj.title==null){
title_uux=titleToAttach;
回调(id,title);
console.log('null,title:'+title\);
}否则{
.......
var radio_no=document.createElement('input');
radio_no.setAttribute('id','radio_no_'+id);
radio_no.type=‘radio’;
radio_no.name=‘article’;
radio_no.value='0';
收音机号addEventListener('click',函数(){
//从titleArray中删除此对象
var indexOfObject=getIndexofObject(id,titleArray);
titleArray.拼接(indexOfObject,1);
console.log('拼接后的titleArray:');
控制台日志(titleArray);
});
}
}
}
open(“POST”,“upload_myfiles.php”);
xmlhttp.send(formdata);
}
}
//在titleArray中查找“title\u fileName”对象的索引
函数getIndexOfObject(id,数组){
var-id\u-toMatch=UploadMyScript.\u('paraHeading\u'+id).dataset.uniq\u-id;
对于(i=0;i
错误是正确的,未定义
您正在调用getIndexofObject
,函数名为getIndexofObject
O
大写。错误正确,未定义
您正在调用getIndexofObject
,函数名为getIndexofObject
O
是大写的。FWIW,打字错误有一个明确的原因:)@JamesThorpe,lol good point谢谢你。你说得对。我之所以不认为这是一个拼写错误,是因为在使用括号文本编辑器进行搜索时,它会突出显示拼写错误和正确的方法名称,使我认为它们是相同的。FWIW,拼写错误有一个明确的原因:)@JamesThorpe,lol good point谢谢。你说得对。我之所以不认为这是一个输入错误,是因为在使用括号文本编辑器进行搜索时,它会突出显示输入错误和正确的方法名称,使我认为它们是相同的。我认为您要查找的是这些内容JavaScript是区分大小写的,您输入的getIndexofObject错误,但是它被定义为getIndexofObject我想你要找的就是这些JavaScript是区分大小写的,你输入了错误的getIndexofObject,但是它被定义为getIndexofObject