jQuery .keyup()函数

时间:2011-04-12 12:07:52

标签: php jquery

我没有收到此代码的任何输出。可能是错误。

terminal.html

<html>
<head>
<link href="/css/webterminal.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery-1.5.2.js"/>
<script type="text/javascript">
function shell_execute(str) {     
  $.ajax({
    url: 'exec.php',
    dataType: 'text',
    data: {
      q: str
    },
    success: function (response) {
      $('#txtOut').append(response);

  });
}
</script>
</head
<body">
    <div class="container">

    <h2>UNIX Web Based Terminal 1.0</h2>
        <br />
    <p><b>output</b></p>
<form>
<span id="User"></span>< <input type="text" id="txtcmd" onkeyup="shell_execute(this.value)" class="textbox" size="20" />
</form>
<div class="output">
<p><span id="txtOut"></span></p>

    </div>
</div>
</body>
</html>

exec.php

<?php

$q=$_GET["q"]; 
$output=shell_exec($q);
echo "<pre>$output</pre>";
?>

5 个答案:

答案 0 :(得分:3)

您需要从文本输入元素中获取值,并在将其传递给脚本之前将其放入str

像:

 var str = $("#txtcmd").val();

答案 1 :(得分:2)

而不是

<script type="text/javascript" src="jquery-1.5.2.js"/>

关闭脚本标记,如下所示:

<script type="text/javascript" src="jquery-1.5.2.js"></script>

答案 2 :(得分:2)

在terminal.html中,str为???

你应该传递一些值来获得输出

尝试echoing $_GET['q'];您将会知道

答案 3 :(得分:2)

我不相信你的问题,但我会接受 onkeyup="shell_execute(this.value)"超出标记并在脚本部分放入一个jQuery事件处理程序:

$("#txtcmd").keyup(function(){
  shell_execute($(this).val());
});

答案 4 :(得分:1)

我知道这是一个老帖子,但这也是问题..

function shell_execute(str) {     
  $.ajax({
    url: 'exec.php',
    dataType: 'text',
    data: {
      q: str
    },
    success: function (response) {
      $('#txtOut').append(response);
     } <------------ You were missing this.
  });
}