Здравствуйте, Подскажите пожалуйста, как реализовать отправку формы без перезагрузки страницы. Есть много примеров, использующие ajax. Дело в том, что мне нужно передавать некоторые данные из php в обработчик формы, и приходится использовать: <input type="hidden" name="othname" value="<?php echo $valuephp; ?>"> таким образом я передаю в ajax post данные из php. Это по всей видимости не правильно... ))) А что если у меня этих input -ов будет много, тогда будет полный пздц.... и некрасивый код. Подскажите логику или пример, как это реализовать. Может знаете как решают эту проблему некоторые популярные сайты. ЗЫ: используя стандартный способ это выглядит так, но тогда страница перезагружается: Код (Text): if(isset($_POST['send'])) { // other code }
Если не нравятся hidden input-ы можешь сессии использовать. На счёт Ajax - а что, в тех примерах, которые ты видел, нельзя передавать какие-то параметры при запросе к серверу?
Бери библиотеку jquery например. Вместо генерации кучи инпутов, создаёшь один массив в пхп, что то типа Код (Text): $val = array( 'othname'=>$valuephp, // и так далее все твои поля ); И делаешь такой скрипт Код (Text): <script> function send() { var val = <?php echo json_encode($val) ?>; // Важно! в конце точка с запятой, пробел или любой другой способ переноса строки // так как после вывода пхп, следующая строка JS станет в этой же строке! // val['login'] = $('#login').val() $.post( $.post("обработчик_формы.php", val) ) } </script> всё, все твои переменные переданы будут обработчику при вызове функции send() в JS. если нужно передать дополнительные поля, напрмиер те что ты заполнил в форме, просто добавь их в json объект в js в функции send, напрмиер как я показал добавление поля логин по id строка закоментирвоана.