Передать post данные на сервер с проверкой, и успешным завершением
здравствуйте, у меня такой вопрос, для работы с формой сейчас я использую библиотеку JsHttpRequest, проблем ни каких нет, текстовая информация передавалась на ура, также различные файлы тоже.
Но тут решил перейти на jQuery, собственно не могу найти примеров, а нужно всего чтобы можно было передавать данные методом POST, при запросе, клиентский скрипт передавал POST данные на сервер, и уже PHP скрипт делал проверку на переданные данные, в случаи чего, выдавал ошибку к примеру в контейнер <div id="errors"></div>, а во время передачи данных, появлялся индикатор загрузки. Если данные были успешно переданы, выдавало соответственно сообщение в <div> контейнер. |
Первая же ссылка в Google по запросу jQuery forms приводит к ответу.
|
спасибо, про этот плагин я знаю, но забыл про него упомянуть, хотел как раз по нему и задать вопрос, вообще зачем он нужен? разве без него jQuery не справится?
сейчас на гуглил, и нашёл вот что http://www.bitrepository.com/a-simpl...alidation.html именно то что нужно, проверка полей производится на сервере, я вообще стороник клиентской проверки. Единственное на этом сайте нет загрузки файла, архив скачал, буду пробовать. Хочу заметить, этот пример не использует плагин jQuery Form |
ну кто ответит?
|
Цитата:
|
так я и грю что стороник клиентской проверки, серверная проверка должна быть обязательно. Я сейчас проверил, оказывается по той ссылке что приводил на форму, там можно только отправлять текст, а вот файл не видит, что нужно для этого не подскажите?
|
Посмотрите вот этот плагин. Его легко можно изменить под свои нужды, в том числе и проверять файлы можно по размеру и расширению.
|
ага спасибо, только вчера гуглил, и попал на этот сайт, смотрел пример, но я не очень ещё разбираюсь, вот хотел спросить, можно совмещать, отправлять данные допустим поля <input type="text"> вместе с файлом? есть где пример?
|
Цитата:
Файл index.php ..... <input type="button" name="ulpoad_file" id="ulpoad_file" value="Обзор" width="102" height="34" class="button"> <span id="ulpoad_file_text"></span> <input type="hidden" name="ulpoaded_file" id="ulpoaded_file"> ..... ..... new AjaxUpload('#ulpoad_file', { action: '/upload.php', name: 'userfile', autoSubmit: true, responseType: false, onChange: function(file, extension){}, onSubmit: function(file , ext) { if(!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) { alert('Ошибка: Вы можете загружать только графические файлы с расширением: jpg|png|jpeg|gif.'); return false; } this.disable(); }, onComplete: function(file, response) { $("#ulpoaded_file").val(file); var str = response.split("|"); if(str[0] == "1") $("#ulpoad_file_text").addClass("green"); if(str[0] == "0") $("#ulpoad_file_text").addClass("red"); $("#ulpoad_file_text").html(str[1]); } }); ..... Файл upload.php if(!empty($_FILES)) { $uploaddir = $_SERVER['DOCUMENT_ROOT'] . '/uploads/'; if($_FILES['userfile']['size'] >= 2000000) {echo "0|Файл не должен быть больше 2Мб.";} else { if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {echo "1|Файл " . "\"" . $_FILES['userfile']['name'] . "\"" . " успешно загружен";} else {echo "0|Произошла ошибка при загрузке файла " . "\"" . $_FILES['userfile']['name'] . "\"";} } } Опять же, его можно изменить под Ваши нужды и добавить сюда необходимые данные (<input>) для отправки. Удачи Вам. |
спасибо за пример, но это немного не то, нужно чтобы одновременно отправлялись данные в месте с картинками. Просто задача какая, делаю размещение новостей, есть форма, заголовок, большой текст, и выбор загрузки фото, и ниже кнопка отправить, при нажатии на которую, данные должны быть переданы скрипту, при этом, должна сработать серверная проверка, в случаи ошибок, о не правильном заполнении данных, вывести сообщение, если всё нормально, сохраняем, и выводим сообщение об успешном сохранении, и скрыть форму. Есть у кого примеры?
На JsHttpRequest всё это делалось без проблем |
Часовой пояс GMT +3, время: 05:09. |