我有一个用户可以上传pdf的网页。当用户上传例如3个pdf时,会生成三个textarea和按钮,以便他们可以提交pdf的标题。我的问题是我不知道如何访问这些动态生成的texareas的textarea中的文本,因为我希望也将这些标题分配给上传的pdf。 当按下任何按钮时,我的submitTitle()函数不知道按下了哪个按钮,我不知道如何解决这个问题。我有一个范围问题,不知道如何排序。 有人可以建议吗?
到目前为止,这是我的代码:
function completeHandler(event){
// convert JSON text to a JSON object
var jsonObject = JSON.parse(event.target.responseText);
_("status").innerHTML = jsonObject.succeed[0].name;
// Creating a form dynamically.
// Allow user to copy/paste the title of the pdf.
var succeedList = jsonObject.succeed;
console.log(succeedList);
for( i=0; i<succeedList.length; i++){
var div_forTextArea = document.createElement("DIV");
div_forTextArea.setAttribute('class', 'dyn_div');
var heading = document.createElement("h6");
heading.innerHTML = jsonObject.succeed[i].name;
div_forTextArea.appendChild(heading);
var textarea = document.createElement("TEXTAREA");
var txtarea_id = 'txt_'+i;
textarea.innerHTML="Enter title of pdf here...";
textarea.setAttribute('id', 'txtArea_'+i);
div_forTextArea.appendChild(textarea);
console.log(textarea);
var subm_btn = document.createElement("INPUT");
subm_btn.setAttribute('type','submit');
subm_btn.setAttribute('id', 'btn_'+i);
subm_btn.setAttribute('value', "submit title");
subm_btn.setAttribute('onclick', 'submitTitle()');
console.log(subm_btn);
div_forTextArea.appendChild(subm_btn);
document.getElementById('out_box').appendChild(div_forTextArea);
}
}
function submitTitle(){
//?????
}
答案 0 :(得分:0)
基本上,您需要确保分配ID以便检索它。如果您无法参考,您只能对某个对象进行操作。 (如果你的朋友没有名字,你会如何推荐朋友?)
Here是之前提出同样问题的问题。这应该回答你的问题。 :) 祝好运!
答案 1 :(得分:0)
您可以给submitTitle
一个额外的参数,该参数表示点击了哪个按钮/哪个textarea应该被删除。
创建元素时写入;
subm_btn.setAttribute('onclick', 'submitTitle('+i+')');`
然后像这样使用它:
function submitTitle(id){
var textEntered = document.getElementById('txtArea_txt_'+id).value;
console.log('Textarea #'+id+' has text: '+textEntered);
}