将PHP输出写入文本字段

时间:2013-04-03 21:10:16

标签: php javascript html ajax dom

我一直在寻找答案,但我似乎找不到它。

我有一个数据库,它接收两条信息并将其作为成功或不成功返回。

我希望能够按下“提交”按钮,然后运行我的PHP查询(这很好),一旦完成就将回显打印到文本框中。

echo '<form name="enrolled" method="post" action="<MY FUNCTION HERE>"><select name="course">';

一旦我的功能完成,它将回应一些东西。我想要一个回显的文本框显示。

我遇到的问题是它不能实时工作,我可以很容易地在文本框上显示回声,但我不能让它保持空白,然后一旦功能完成,填充框。

感谢您花时间阅读。

6 个答案:

答案 0 :(得分:0)

正如nathan所说,你似乎对php工作有点困惑。它会写入HTML(或其他内容),并将其发送到呈现它的浏览器。在您将另一个请求发送回服务器之前,PHP处于空闲状态。如果您不想从当前页面转换但更新它的内容,则需要创建javascript,当触发时向服务器发出请求(并在服务器响应时采取适当的操作。

如果您使用Google PHP Ajax tutorial,那么您会找到很多示例。

答案 1 :(得分:0)

完全不优雅,只是呼应整个领域......

echo "<input type='text' name='something' value='the value you want to echo'>";

不确定您在PHP中尝试做什么。

答案 2 :(得分:0)

html form action attribute它应该是一个URI,而不是一个javascript函数。

要实时更新表单或输入,您可以使用javascript并执行ajax请求。如果您想快速快速地建议,我建议您使用Mootools Request class在表单中进行ajax更新。

您可以在Mootools网站上看到full demo example of ajax实时更新(HTML,PHP,Javascript)。

答案 3 :(得分:0)

两种方式:

通过邮寄并刷新:

你的表格就像是 的script.php

<?php
    $result = "Hello world!"; //Do your logic anywhere but be sure to set the result here
?>
<form method="post" action="script.php">
....
<input type="text" value="<?= $result?>" readOnly>
<input type="submit">
</form>

另一种方式是通过AJAX 这将需要更多的研究。尝试这个,它更简单!

答案 4 :(得分:0)

您需要使用AJAX发布表单,然后在框中显示结果。使用jQuery库很容易。要包含jQuery库,只需将其添加到您的html头

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

然后您可以使用此脚本提交表单

<script type="text/javascript">
    $(document).ready(function(){
        $("#myform").submit( function () {    
          $.post(
           'post.php',
            $(this).serialize(),
            function(data){
              $("#result").html(data)
            }
          );
          return false;   
        });   
    });

post.php在你正在调用的脚本名称中,它将收到表单并返回答案。 myform是表单的ID,result是您要显示结果的框的ID。

答案 5 :(得分:0)

你正在以错误的方式思考PHP; PHP不直接与Web浏览器交互。你需要的是AJAX。原因如下:

  1. 客户端(Web浏览器)向Web服务器发送请求(apache,lighttpd等)
  2. Web服务器解释该请求,并且(在这种情况下)将其交给PHP
  3. PHP根据Web服务器提供的输入回显结果
  4. Web服务器将该结果发送回Web浏览器
  5. 网络浏览器确定如何处理该信息
  6. 现在,如果您导航到网页,则Web浏览器会呈现您的Web服务器生成的内容(使用PHP生成它)。如果Web服务器已经响应,就是这样 - 您已得到响应。要获得更多信息,您必须提出新请求,这意味着您必须执行以下两项操作之一(通常):

    • 通过提交表单,重新加载,导航到新页面等在浏览器中导航。
    • 使用Javascript(由客户端而不是服务器执行)发出“后台”请求

    使用Javascript在“后台”发出请求并在不重新加载的情况下更新页面的技术称为 AJAX ,有很多方法可以完成任务,但到目前为止最简单的方法是最流行的方法是使用JQuery library,这是一个很棒的有用功能套件和Javascript的附加功能,可以减少使用它的痛苦(甚至是愉快!) - 包括a simple function for making AJAX requests using the POST method

    关于这个主题还有很多东西需要学习,但希望这能让你对完成这项任务需要了解的内容有足够的了解。