我有一个搜索页面:(请原谅错误的语法,仅用于演示目的)
<form action="" method="post" name="form">
//form elements and such with a hidden input name="action" value="search"
</form>
<?php if(isset($_POST['action']) and $_POST['action'] == 'search'): ?>
<?php include results.php ?> //takes form data, build SQL query, puts results in array
<?php foreach($results as result) blah blah //for each result display it ?>
<?php endforeach; ?>
<?php endif; ?>
我见过将action属性设置为php文件的解决方案。不幸的是,在我的例子中它没有。拿这个:http://www.simonerodriguez.com/ajax-form-submit-example/
<form name="MyForm" action="response_ajax.php" method="post" onsubmit="xmlhttpPost('response_ajax.php, 'MyForm', 'MyResult', '<img src=\'pleasewait.gif\'>'); return false;">
看起来不错,但不幸的是我没有第一个参数:reqsponse_ajax.php,我的空白。
JS可以在这里找到:http://www.simonerodriguez.com/wp-content/plugins/downloads-manager/upload/ajaxsbmt.js
如果有人可以修改脚本或提出更好的解决方案,那就太棒了,谢谢。
答案 0 :(得分:0)
当您使用AJAX时,动作属性中的内容应该无关紧要。它是启动AJAX处理的onsubmit或提交按钮的onclick属性。
你了解AJAX的基础知识,对吗?而不是实际提交将加载新页面的表单,您将XMLHttpRequest发送到服务器,POST数据,并等待onreadystatechange回复,此时您动态更新页面。网上有数百个甚至数千个这样的例子。