使用jQuery保存文本框的内容

时间:2011-04-18 10:15:49

标签: shell jquery

我想为基于linux-web的终端创建一个简单的“历史记录”功能。

用户可以在文本框中输入任何linux命令。按下return后,该命令实际上是在linux shell上执行的,并使用exec()函数,我在浏览器上返回输出。

当用户键入关键字(例如文本框中的“历史记录”)时,将显示输入到texbox中的最后十个linux命令。我该如何实现呢?

1 个答案:

答案 0 :(得分:2)

$('#submit').click(

    function (){

        $.ajax({
          url: "test.php",
          method: "get",
          dataType: "text", 
          data: {cmd: $('#command').val() },
          success: function(data){ 
            $('#display').html(data);
          }
        });

    }

)


<div id="display"></div>    
<input type="text" id="command"/>
<a href="#" id="submit">submit</a>

在test.php上,获取命令,执行命令并显示结果。

$cmd = $_GET['q'];

exec($cmd, $output);

echo "<pre>";
print_r($output);
echo "</pre>";

更新 ::你去了,你的完整代码

<script src="jquery.js"></script>
<script>

var commands = new Array();

$(function (){
    $('#cmd').keydown(
    function (event){
        if(event.keyCode == 13){
            event.preventDefault(); 
            /*you can call your function here*/
            var tmp = $(this).val();
            commands.push(tmp);
            if(tmp == 'history')
            {
                showlog();
                return false;               
            }           
            $.ajax({
              url: "exec.php",
              method: "get",
              dataType: "text", 
              data: { q: tmp},
              success: function(response){ 
                 $('#txtOut').html(response);
              }
            });
            /*still you can it here*/
          }
        }
    );  
});

function showlog()
{           
    $('#txtOut').html(function ()
    {
        var txt="<br/>";
        for(var i=1; i<=commands.length-1; i++)
        {
            txt += commands[i]+"<br/>";
        }
        return txt;
    });
}

</script>      
<input type="text" id="cmd"/>
<a href="#" id="showlog">show log</>
<div id="txtOut"></div>