Ajax отправка формы. Отправка формы через Ajax. Отправка формы без перезагрузки страницы.
Как отправить форму без перезагрузки с помощью AJAX?
Допустим на странице сайта у нас есть форма
<form id="test_form" action="comment.php" method="post">
Имя: <input type="text" name="name" /><br />
Комментарий: <textarea name="comment"></textarea>
</form><br />
<div id="result">Тут будет статус загрузки</div><br /><br />
<div onclick="SendForm();">Отправить форму через Ajax</div><br />
Обратите внимание что у формы есть id="test_form", этот id нам нужен для доступа к форме через javascript.
Как отправить эту форму при нажатии на другой элемент с помощью Ajax без перезагрузки страницы?
Очень просто:
Подключите к своему сайту перед тегом ScriptJava фреймворк, добавив вот такой код:
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>
Далее реализовываем функцию отправки:
<script type="text/javascript">
function SendForm() {
//отправка файла на сервер
$$f({
formid:'test_form',//id формы
url:'comment.php',//адрес на серверный скрипт, такой же как и в форме
onstart:function () {//действие при начале отправки
$$('result','начинаю отправку');//в элемент с id="result" выводим результат
},
onsend:function () {//действие по окончании отправки
$$('result',$$('result').innerHTML+'<br />комментарий успешно отправлен');//в элемент с id="result" выводим результат
}
});
}
</script>
При нажатии на что либо нужно вызвать функцию которая будет отвечать за отправку формы через Ajax:
SendForm();
Как получать ответ от файла comment.php
Содержимое файла comment.php
<?php
if(isset($_POST['name'])) {
echo'
<script type="text/javascript">
var elm=parent.window.document.getElementById("result");
elm.innerHTML=elm.innerHTML+"<br />Получено имя '.str_replace("\r","",str_replace("\n","<br />",htmlspecialchars(stripslashes($_POST['name'])))).' с текстом '.str_replace("\r","",str_replace("\n","<br />",htmlspecialchars(stripslashes($_POST['comment'])))).' ";
</script>
';
}
?>
Как видите ничего сложного.
|
Напишите, пожалуйста, статью по использованию scriptjava при отправке сообщения на е-мейл, в частности, без использования видимой формы, т.е., при нажатии на определенную кнопку илии ссылку пользователю отправляется сообщение, например, "вы нажали кнопку".
Спасибо.
Дело в том что в тестовых задания обычно просят не использовать фрэймворки, так бы jquery подключил и готово.
Ну и зачем все эти фреймворки если есть простой и нативный XMLHttpRequest ?
Забыл- помогите!
А как добавлять поля в форму без перезагрузки?
Добрый день.
В таких статьях положено пример работы показывать.
Как в ваших скриптах происходит подключение к базе ?
Кнопка то где у тебя?