Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача данных формы без перезагрузки страницы
 
 автор: Jaroslav   (13.12.2008 в 11:57)   письмо автору
 
 

Здравствуйте.

Подскажите, пожалуйста, как передать данные формы без перезагрузки страницы?
Есть скрипт аякса. На кнопку submit вешаю событие onclick(); При нажатии идет обращение к обработчику, но переменные, заполненные в форму не передаются. Подскажите, пожауйста, как их передать?

С уважением.

  Ответить  
 
 автор: DEM   (13.12.2008 в 13:28)   письмо автору
 
   для: Jaroslav   (13.12.2008 в 11:57)
 

Что бы указать вам на ошибку, почему переменные не передаются, надо хотя бы видеть код :)

ЗЫ. а вообще кнопка должна быть BUTTON, а не SUBMIT вроде бы...

  Ответить  
 
 автор: Jaroslav   (13.12.2008 в 14:11)   письмо автору
 
   для: DEM   (13.12.2008 в 13:28)
 

так приведите пример кода сами...
Как я его приведу, если я не знаю, как передать? :)
да. И button пробовал. Не получается... это на javascript делается?
Я не хочу использовать библиотеки, типа query.. Хочу разобраться, как это сделать самому.

  Ответить  
 
 автор: sl1p   (13.12.2008 в 16:00)   письмо автору
 
   для: Jaroslav   (13.12.2008 в 14:11)
 


<script type="text/javascript">
function ajx(){
var ajx = typeof window.external=='object' && typeof document.all=='object'
? new ActiveXObject("Microsoft.XMLHTTP")
: new XMLHttpRequest();
var q = "text="+document.getElementById('text').value;
ajx.open('post','ajx.php',true);
ajx.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajx.send(q);
return false;
}
</script>

<form action="" onSubmit="return ajx()">
<input type="text" id="text">
<input type="submit" value="go">
</form>


<?php
//ajx.php
echo $_POST['text'];
?>

  Ответить  
 
 автор: cheops   (13.12.2008 в 15:20)   письмо автору
 
   для: Jaroslav   (13.12.2008 в 11:57)
 

Вы каким методом передаете (POST или GET) и каким методом обработчик принимает данные (POST или GET)? Форма и обработчик расположены на одном и том же виртуальном хосте?

  Ответить  
 
 автор: Jaroslav   (13.12.2008 в 16:26)   письмо автору
2.4 Кб
 
   для: cheops   (13.12.2008 в 15:20)
 

Посмотрите, пожалуйста, в файле - aj.rar.
привел там небольшой пример.

передается методом POST.
Мне надо, чтобы в файл test.php передавались переменные info и fio (к примеру).
Вот пытаюсь понять, как это сделать.

  Ответить  
 
 автор: cheops   (14.12.2008 в 14:39)   письмо автору
 
   для: Jaroslav   (13.12.2008 в 16:26)
 

Дело в том, что вы используете устаревший стиль обращения к POST-переменным, он работает только при включенном режиме register_globals. Лучше от этого отказаться, если в PHP 5 ещё можно включить этот режим, то в PHP 6 такой возможности не будет. Измените ваш обработчик test.php следующим образом
<?
echo $_POST['fio'];
echo 
$_POST['$info'];
if   (
$_POST['region_id'] ==2) {echo "2"; }
?>

  Ответить  
 
 автор: Jaroslav   (15.12.2008 в 10:53)   письмо автору
 
   для: cheops   (14.12.2008 в 14:39)
 

да проблема в том, что в обработчик test.php не передаются переменные формы без перезагрузки страницы

echo $_POST['fio'];
echo $_POST['info'];

ничего не выводит.... Пустой экран.

  Ответить  
 
 автор: Jaroslav   (13.12.2008 в 21:48)   письмо автору
 
   для: cheops   (13.12.2008 в 15:20)
 

ну что я примером аякса просто так делился? :)))
Подскажите, пожалуйста. Вообще вопрос сводится к тому, как при помощи объектной модели документа передать значение value какой-либо переменной...

  Ответить  
 
 автор: cheops   (14.12.2008 в 14:40)   письмо автору
 
   для: Jaroslav   (13.12.2008 в 21:48)
 

>Вообще вопрос сводится к тому, как при помощи объектной модели документа передать
>значение value какой-либо переменной...
Что-то не очень понятно...

  Ответить  
 
 автор: Jaroslav   (15.12.2008 в 10:58)   письмо автору
 
   для: cheops   (14.12.2008 в 14:40)
 

Думаю о том, чтобы в onclick() добавить значение переменных info и fio

Сейчас:

<input type="submit" value="Отправить" onclick="javascript:sendRequest('test.php?region_id=2', 'result', getRequest);">

а сделать что-то типа:

<input type="submit" value="Отправить" onclick="javascript:sendRequest('test.php?fio=document.name_form.name_input.value', 'result', getRequest);">

т.е. чтобы при переходе к test.php туда же сразу и передавались переменные формы.
Но "document.name_form.name_input.value" - написано не правильно...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования