function AjaxFormRequest(result_id,form_id,url)
{
jQuery.ajax(
{
url: url, //Адрес подгружаемой страницы
type: "POST", //Тип запроса
dataType: "html", //Тип данных
data: jQuery("#"+form_id).serialize(),
success: function(response)
{ //Если все нормально
document.getElementById(result_id).innerHTML = response;
document.getElementById(form_id)reset();
},
error: function(response)
{ //Если ошибка
document.getElementById(result_id).innerHTML = "Ошибка при отправке формы";
}
}
);
}
<div id="messages">
</div>
<form method="post" action="" id="form_id">
<input type="text" name="phone" /><br/>
<input type="button" value="Отправить" onclick="AjaxFormRequest('result_div_id', 'form_id', 'form.php')" />
</form>
GRIP, точку забыл поставить
Koenig, Все равно не пашет ((
подскажите как пользоватся этим кодом? (я в ajax полный 0)
мне нужно чтобы при нажатии кнопки/ссылки скрипту test.php передавался гет запрос с двумя параметрами без перезагрузки страницы.
код который нашел в гугле (+/-)
01var req;
02// Путь к файлу на сервере на который будет отправляться запрос
03var handlerPath = 'xmlhttp.php';
04
05function createRequest() {
06 // Создание объекта XMLHttpRequest отличается для Internet Explorer и других обозревателей, поэтому для совместимости эту операцию приходиться дублировать разными способами
07 if (window.XMLHttpRequest) req = new XMLHttpRequest(); // normal browser
08 else if (window.ActiveXObject) { // IE
09 try {
10 req = new ActiveXObject('Msxml2.XMLHTTP'); // IE разных версий
11 } catch (e){} // может создавать
12 try { // объект по разному
13 req = new ActiveXObject('Microsoft.XMLHTTP');
14 } catch (e){}
15 }
16 return req;
17}
18
19function getData(handlerPath, parameters) {
20 // Создаем запрос
21 req = createRequest();
22 if (req) {
23 // Отправляем запрос методом POST с обязательным указанием файла обработчика (true - асинхронный режим включен)
24 req.open("POST", handlerPath, false);
25 // При использовании объекта XMLHttpRequest с методом POST требуется дополнительно отправлять header
26 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
27 // Передаем необходимые параметры (несколько параметров разделяются амперсандами)
28 req.send(parameters);
29
30 // Для статуса "OK"
31 if (req.status == 200) {
32 // Получаем ответ функции в виде строки
33 var rData = req.responseText;
34 // Проверяем данные с помощью регулярных выражений, после выполняем функцию eval()
35 var eData = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(rData.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + rData + ')');
36 // Создаем массив данных
37 var eArray = new Object(eData);
38 } else {
39 alert("Не удалось получить данные:\n" + req.statusText);
40 }
41 } else {
42 alert("Браузер не поддерживает AJAX");
43 }
44 return eArray;
45}
46
47[...]
48
49// вызов функции AJAX запроса
50getData(handlerPath,'строка с параметрами, например (giveProducts="15")')
adust, Хороший код , черт ногу сломит....
# venom (14.02.2014 / 18:50)
adust, Хороший код , черт ногу сломит....
не подскажешь линк, где есть норм код?
adust, А почему не взять jquery, и вообще что это будет ?
# venom (14.02.2014 / 19:59)
adust, А почему не взять jquery, и вообще что это будет ?
если jquery в джоновской шапке подключить сайт глючить не будет?
например те же лайки как во вконтакте, и хочу сделать чтоб можно было писать сообщения в почте без перезагрузки страницы.
adust, В твоем случаи лучше забыть об этом , или нанять кодера...
# venom (14.02.2014 / 20:15)
adust, В твоем случаи лучше забыть об этом , или нанять кодера...
я лучше перечитаю кучу документации по ajax,jquery и сделаю сам, это намного интереснее чем забыть или нанимать кодера))))))
подскажи тогда что мне нужно jquery или jquery mobile?