Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   JavaScript отправка данных методом POST (https://javascript.ru/forum/server/9647-javascript-otpravka-dannykh-metodom-post.html)

FORUS 29.05.2010 16:09

JavaScript отправка данных методом POST
 
Здраствуйте! Сообственно хочу сделать вывод ошибок при заполнении формы без перезагрузки страницы с помощью JavaScript. Полностью проверку всех данных будет осуществлять php-файл на сервере, а от javascript только требуется передать данные из формы методом POST этому php-файлу, получить от него же ответ с ошибкой и вывести ее на экран.
Честно признаюсь, в программировании на JavaScript я полный нуль и силен только в php, поэтому прошу помочь мне советом, ссылкой или кодом в решении этой задачи.

micscr 29.05.2010 16:24

http://javascript.ru/ajax/intro

FORUS 29.05.2010 16:41

micscr, спасибо за ссылку, что то я сразу не догадался глянуть мануал по Ajax. Попробую применить.

FORUS 29.05.2010 17:24

Здесь в примере http://javascript.ru/ajax/intro показано только с одной кнопкой:
<input value="Голосовать!" onclick="vote()" type="button" />

а как сделать с полной формой с несколькими полями и методом POST?
форму сделал так:
<form action="" method="post">
здесь несколько полей
<input type="submit" name="submit" onclick="vote()" value="Добавить"/>
</form>

У меня при нажатии на кнопку "Добавить" все равно страница перезагружается и сообщения об ошибках не выводятся.

exec 29.05.2010 18:01

<form id="x"> … </form>


$.post(url, $('#x').serialize(), function (response) {
switch (response) {
case '404 error': …; break;
case 'ok': …; break;
}
});


jQuery

FORUS 29.05.2010 18:34

exec, спасибо, что написали. Если не трудно, опишите пожалуйста подробнее.

exec 29.05.2010 18:46

<script type="text/javascript">
function sbm() {
$.post(url, $('#x').serialize(), function (response) {
switch (response) {
// Если ответ равен '404 error'
case '404 error': $('#err').html('Страница не найдена'); break;
// Если ответ равен 'OK'
case 'ok': $('#err').html('Всё ок'); break;
// Можно продолжать прописывать условия дальше. Только не забывайте про break.
}
});
}
</script>

<div id="err"> Идёт загрузка… </div>

<form id="x"> Ваша форма </form>

<input type="button" value="Проверить" onclick="sbm();" />

FORUS 29.05.2010 19:14

exec, я как понял этот код просто проверяет существование какой то страницы и не подходит для задачи описанной мной в первом посте. Ради интереса проверил его на локалке, что то он не работает.

exec 29.05.2010 19:27

Цитата:

я как понял этот код просто проверяет существование какой то страницы
Он проверяет ответ сервера после того, как на страницу отправлен запрос. А '404 error' я привёл просто для примера.

Цитата:

Ради интереса проверил его на локалке, что то он не работает.
На другой домен запрос посылать нельзя.

FORUS 29.05.2010 19:29

exec, извиняюсь если в чем то не понял вас, просто я в основном разрабатывал php-скрипты для wap-сайтов, а там javascript редко используют, поэтому в основном его не изучал.


Часовой пояс GMT +3, время: 17:35.