将PHP输出写入textfield

Writing PHP output into textfield

本文关键字:textfield 输出 PHP      更新时间:2023-09-26

我试着四处寻找这个问题的答案,但我似乎找不到。

我有一个数据库,它接受两条信息,并返回成功或不成功。

我希望能够按下按钮"提交",然后运行我的PHP查询(这是很好的)打印出一个回显到一个文本框,一旦它已经完成。

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

一旦我的函数完成,它会回显一些东西。我想为文本框显示回声

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

感谢您的阅读。

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

如果你搜索PHP Ajax教程,你会发现很多例子

一点也不优雅,只是回显整个字段…

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

不确定你在PHP中要做什么

html表单动作属性它应该是一个URI,而不是一个javascript函数。

要实时更新表单,或者只是一个输入,您可以使用javascript并执行ajax请求。如果你想让它快速,我建议你使用Mootools Request类在你的表单中进行ajax更新。

您可以在Mootools站点中看到ajax实时更新(HTML, PHP, Javascript)的完整演示示例。

有两种方法:

通过Post和refresh:

你的形式你是什么样子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这需要更多的研究。试试这个,简单多了!

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

<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。

你对PHP的看法是错误的;PHP不直接与web浏览器交互。您需要的是AJAX。原因:

  1. 客户端(web浏览器)向web服务器(apache, lighttpd等)发送请求
  2. web服务器解释该请求,并(在这种情况下)将其交给PHP
  3. PHP根据web服务器
  4. 给它的输入返回结果
  5. web服务器将结果发送回web浏览器
  6. web浏览器决定如何处理该信息

现在,如果这是你导航到一个网页,web浏览器呈现由web服务器生成的内容(它使用PHP生成)。如果web服务器已经响应了,那就好了——你已经得到了响应。要获得更多信息,您必须发出一个新的请求,这意味着您必须执行以下两种操作之一(通常):

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

使用Javascript技术,使"背景",并要求更新页面,而不用重新加载叫做 AJAX ,有很多方法来完成这项任务,但迄今为止最简单的和最受欢迎的方法是使用JQuery库,这是一个奇妙的工具有用的功能和增加Javascript,痛苦会减轻(甚至愉快!)一起工作——包括一个简单的函数使用POST方法使AJAX请求。

关于这个主题有很多东西要学,但希望这将给你一个足够扎实的理解,你需要知道什么来完成这个任务