我需要一些帮助,我制作了这个PHP脚本,它发布完美,但正如预期的那样刷新整个页面,我需要刷新这个php文件并返回所选城市的结果并选择=“选中”选项在表单中,所以我可以多次使用它,但部分刷新,而不是整个网站。提前致谢。 这是代码:
<?php
$city='London';
$selected= array('selected="selected"','','');
if(isset($_POST["cities"])){
$city=$_POST["cities"];
switch($city)
{
case 'London': $selected[0]='selected="selected"'; $selected[1]=''; $selected[2]=''; break;
case 'Manchester': $selected[0]=''; $selected[1]='selected="selected"'; $selected[2]=''; break;
case 'Liverpool': $selected[0]=''; $selected[1]=''; $selected[2]='selected="selected"'; break;
default: break;
}
}
?>
<html>
<head>
</head>
<body>
<div id="change">
<form name="ch_city" id="ch_city" method="post">
<select name="cities" id="cities" onchange="document.ch_city.submit();">
<option value="London" <?php echo $selected[0]; ?>>London</option>
<option value="Manchester" <?php echo $selected[1]; ?>>Manchester</option>
<option value="Liverpool" <?php echo $selected[2]; ?>>Liverpool</option>
</select>
</form>
<p>You've chosen: <?php echo $city; ?>.</p>
</div>
</body>
</html>
答案 0 :(得分:1)
在进行AJAX工作时,特别是对于初学者,强烈建议使用JavaScript库,它将确保您的代码跨浏览器兼容并处理大量的脏工作。 jQuery通常是一个很好的起点。文档很棒,可以满足您的JavaScript需求。基本上,您可以在不刷新页面的情况下从服务器加载数据。祝你好运!
答案 1 :(得分:1)
John,你的问题比看上去要复杂得多。
我在这里看到的根本问题是代码的结构。尽管将PHP与HTML混合在一起并将一些JavaScript混合在一个文件中是非常常见的,但这是灾难的一个方法,它不会扩展。在这种情况下,它不会扩展以使页面更加AJAX-y。
您应该将PHP与HTML以及HTML中的HTML分开。通过单独我的意思是你应该有一个只包含PHP的PHP文件,以及一个包含大量HTML的HTML文件(除了一些PHP或其他模板指令,告诉它,例如,“这个选项标签应该是被选中“。)
我不建议你自己尝试实现所有这些,我建议看看像CakePHP这样的框架,为你做这种分离并指导/强迫你以“正确的方式”做事。主要框架有相当大的社区,并且有很好的文档记录,所以当你遇到像“我如何AJAX这个动作?”这样的问题时。很可能是某人已经完成了它并得到了框架的支持。
很抱歉没有回答您的实际问题,但我觉得这个答案可以帮助您解决更多问题。
答案 2 :(得分:0)
我认为你误解了Ajax是什么。 Ajax本质上是一些javascript函数。 Javascript是一种客户端技术,因此不能“放入php”,因为PHP是在服务器端执行的。
编辑:就像我面前的海报一样,我推荐查看Jquery,它可以为网络初学者提供帮助。