如何从JavaScript中的数组中获取文本并将其附加到texarea?

问题描述:

我想从动态更改的数组中获取文件路径并将其存储在值c中。当我点击激活它的按钮时,它会返回Web地址中文件在数组exp中的编号。我想要www.anon-curb.com/swfs/exampleflash.swf,但它给了我www.anon-curb.com/swfs/464; 464是它在阵列中的顺序。如何从JavaScript中的数组中获取文本并将其附加到texarea?

HTML

<div class="share_con"> 
       <button id="share">Get a link!</button> 
       <textarea id="link"></textarea> 
      </div> 

JAVASCRIPT

var c = sessionStorage.getItem('order'); 
    sessionStorage.setItem('order', c); 
    var flashcon, test, temp; 

    share = document.getElementById('share'); 
    link = document.getElementById('link'); 

    function init() { 

     share.onclick = function() { 
      console.log('Event: share button clicked'); 
      shareshare(); 
     } 

    } 

    function shareshare() { 
     console.log('Called: shareshare()'); 
     link.innerHTML = 'www.anon-curb.com/' + c; 
    } 

    // What displays the actual flash and title for the flash 
    function displayFiles() { 
     console.log('Called: displayFiles()'); 
     test = paths[c].substring(paths[c].lastIndexOf('.') + 1, paths[c].length); 
     document.getElementById('title').innerHTML = displaytext[c]; 

     flashcon.innerHTML = 
      '<object id="flashcontent" data="' + paths[c] + '">' + 
      '<param name="movie" type="application/x-shockwave-flash">' + 
      '</object>'; 
    } 
    window.addEventListener ? 
     window.addEventListener('load', init, false) : 
     window.attachEvent('onload', init); 
}); 

所有变量的创建和正确调用我唯一的问题是我不知道如何获得包含在数组中,而不是订单的实际文本它进来了。

+0

你的阵列是可引用的?使用括号符号'arr [c]' –

+0

我给了我更多的JavaScript代码,我认为这会有所帮助 – cosmichero2025

+0

你可以给我们一个'sessionStorage'调试吗? – MayorMonty

所以我做了一些摆弄,我做了“虽然我很笨!为什么我不使用c的数字来调用数组中的文本?”这就是我做的!

function shareshare() { 
     var l = paths[c]; 
     console.log('Called: shareshare()'); 
     link.innerHTML = 'www.anon-curb.com/' + l; 
    } 

顺便说我有NOOOO知道为什么我没有立刻觉得blahhhh

+1

是的,这是我在评论发布前2分钟的建议。 – trincot

+0

Yaaa我知道,但我没有更新页面BC我滚动下来,当我choding它,所以我没有看到, – cosmichero2025

+1

没有问题。最重要的是你有一个解决方案:) – trincot

认为这是我一直在寻找通过您的代码,我发现了一些问题:

  1. 文字区域使用innerText,而不是innerHTML

    这是一个简单的修复,只需切换shareshare

    function shareshare() { 
        console.log('Called: shareshare()'); 
        link.innerText = 'www.anon-curb.com/' + c; 
    } 
    

还拿你的解决方案的提示:

function shareshare() { 
    var l = paths[c]; 
    console.log('Called: shareshare()'); 
    link.innerHTML = 'www.anon-curb.com/' + l; 
} 

希望我能有点用(即使你已经理解了它)

+0

我很感谢你的回答,但innerHTML工作得很好:D – cosmichero2025

+0

呵呵。在我的Chrome版本(51)中,它不起作用,并且从我从规范中读取的内容中,使用了“innerText”。 TIL,猜! – MayorMonty