我一直在寻找答案,但我似乎找不到它。
我有一个数据库,它接收两条信息并将其作为成功或不成功返回。
我希望能够按下“提交”按钮,然后运行我的PHP查询(这很好),一旦完成就将回显打印到文本框中。
echo '<form name="enrolled" method="post" action="<MY FUNCTION HERE>"><select name="course">';
一旦我的功能完成,它将回应一些东西。我想要一个回显的文本框显示。
我遇到的问题是它不能实时工作,我可以很容易地在文本框上显示回声,但我不能让它保持空白,然后一旦功能完成,填充框。
感谢您花时间阅读。
答案 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。原因如下:
现在,如果您导航到网页,则Web浏览器会呈现您的Web服务器生成的内容(使用PHP生成它)。如果Web服务器已经响应,就是这样 - 您已得到响应。要获得更多信息,您必须提出新请求,这意味着您必须执行以下两项操作之一(通常):
使用Javascript在“后台”发出请求并在不重新加载的情况下更新页面的技术称为 AJAX ,有很多方法可以完成任务,但到目前为止最简单的方法是最流行的方法是使用JQuery library,这是一个很棒的有用功能套件和Javascript的附加功能,可以减少使用它的痛苦(甚至是愉快!) - 包括a simple function for making AJAX requests using the POST method。
关于这个主题还有很多东西需要学习,但希望这能让你对完成这项任务需要了解的内容有足够的了解。