如何将执行输出显示到文本区域中


How to display exec output into a text area

我有一个页面,单击按钮时,调用执行以下内容的javascript函数:

 <?php $i = exec('/etc/init.d/iptables status'); ?>
  document.getElementById('txtArea').innerHTML += <?php echo $i; ?>;

但文本区域空无一人,
有什么建议或解决方案吗?

PHP 输出到 HTML 中:

<textarea><?php echo shell_exec('/etc/init.d/iptables status'); ?></textarea>

PHP 输出到 HTML,但以 Textarea 元素上的 Javascript 值更新的形式:

<textarea id="txtArea">...</a>
<script>
document.getElementById("txtArea").value = "<?php echo shell_exec('/etc/init.d/iptables status'); ?>";
</script>

但我怀疑,你想要这个。

所以,最后整个事情又回来了,但现在有一个按钮作为 JS/jQuery Ajax Get 请求的触发器:

<textarea id="txtArea">...</a>
<input type="button" id="txtAreaUpdateButton" value="Update Textarea"/>
<script>
$(document).ready(function() {
   $('#txtAreaUpdateButton').click(function() {
      $.ajax({ 
          type: "GET",
          url: "http://www.yoursite.com/request.php",//get response from this file
          success: function(response){ 
            $("textarea#txtArea").val(response); // update textarea with response
        }
      });
   });
});
</script>

这里的"请求.php"包含:

<?php echo shell_exec('/etc/init.d/iptables status'); ?>

留意报价。它们通常是错误的源头。