Предложите решение AJAX для формирования представления без перезагрузки страницы, с действием = "" вместо действия = "response.php" - PullRequest
0 голосов
/ 21 ноября 2010

У меня есть страница поиска: (пожалуйста, извините за неправильный синтаксис, только для демонстрационных целей)

<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

Если кто-то может внести изменения в сценарий или предложить лучшее решение, это будет здорово, спасибо.

1 Ответ

0 голосов
/ 21 ноября 2010

не имеет значения, что находится в атрибуте action при использовании AJAX. это атрибут onsubmit или onclick кнопки отправки, запускающий обработку AJAX.

Вы понимаете основы AJAX, верно? вместо фактической отправки формы, которая будет загружать новую страницу, вы отправляете запрос XMLHttpRequest на сервер, размещаете данные и ждете ответа с помощью onreadystatechange, после чего вы динамически обновляете свою страницу. буквально сотни, если не тысячи примеров этого в сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...