如何访问使用javascript动态生成的textarea的文本内容?

时间:2015-03-26 19:10:24

标签: javascript html

我有一个用户可以上传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(){
  //?????
    }

2 个答案:

答案 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);
}