如何将此内容输出到文本区域?

Posted

技术标签:

【中文标题】如何将此内容输出到文本区域?【英文标题】:How can i output this content to a textarea? 【发布时间】:2015-04-25 21:58:46 【问题描述】:

我试图将文本从 php 页面传递到我的 html 页面,正如 Chris Bakers 的回答(javascript,不是 jquery)所描述的那样。 Call php function from javascript

如果我使用普通文本 (id=output),代码有效,但我想将文本输出到文本区域 (id=text1) 而不是普通文本,只是更改 id 不起作用。

这是我的代码:

<html>
 <head>
 </head>
 <body>
 <textarea id="text1" style="background-color: #969696" cols="50" rows="10" readonly></textarea>
 <div id="output">waiting for action</div>
 </body>
 <script>


    function getOutput() 
    var value = document.getElementById("artikelnr").value;
    var file = selectedValue()+".csv";
      getRequest(
          "verarbeitung.php?eingabe="+value+"&eingabe2="+file, // URL for the PHP file
           drawOutput,  // handle successful request
           drawError    // handle error
      );
      return false;
      
    // handles drawing an error message
    function drawError() 
        var container = document.getElementById('text1');
        container.innerHTML = 'Bummer: there was an error!';
    
    // handles the response, adds the html
    function drawOutput(responseText) 
        var container = document.getElementById('text1');
        container.innerHTML = responseText;
    
    // helper function for cross-browser request object
    function getRequest(url, success, error) 
        var req = false;
        try
            // most browsers
            req = new XMLHttpRequest();
         catch (e)
            // IE
            try
                req = new ActiveXObject("Msxml2.XMLHTTP");
             catch(e) 
                // try an older version
                try
                    req = new ActiveXObject("Microsoft.XMLHTTP");
                 catch(e) 
                    return false;
                
            
        
        if (!req) return false;
        if (typeof success != 'function') success = function () ;
        if (typeof error!= 'function') error = function () ;
        req.onreadystatechange = function()
            if(req.readyState == 4) 
                return req.status === 200 ? 
                    success(req.responseText) : error(req.status);
            
        
        req.open("GET", url, true);
        req.send(null);
        return req;
    


 </script>
</html>

【问题讨论】:

【参考方案1】:

因为您应该使用.value 而不是.innerHTML

参考:JavaScript get TextArea input via .value or .innerHTML?

【讨论】:

感谢您的快速回复,这行得通!但是现在它输出了整个源代码(例如 等)是否可以只输出文本? 那将是另一个问题:***.com/questions/822452/… 谢谢,在那个问题的帮助下,我得到了它的帮助。【参考方案2】:

不是setInnerHtml,textarea有value属性。不太合乎逻辑,但很好......

惹你生气了:

document.getElementById("bla").value = "test";
&lt;textarea id="bla" readonly &gt;Initial Value&lt;/textarea&gt;

【讨论】:

谢谢你的作品!但是现在它输出了整个源代码(例如 等)是否可以只输出文本?

以上是关于如何将此内容输出到文本区域?的主要内容,如果未能解决你的问题,请参考以下文章

如何将cmd中的命令输出到文本区域

将光标设置到文本区域中特定行上的特定位置

根据内容自动调整文本区域的大小[重复]

如何始终滚动到文本区域的底部?

添加滚动到文本区域

如何在 IE 中将大小调整器添加到文本区域?