|
|
|
| Здравствуйте.
Подскажите, пожалуйста, как передать данные формы без перезагрузки страницы?
Есть скрипт аякса. На кнопку submit вешаю событие onclick(); При нажатии идет обращение к обработчику, но переменные, заполненные в форму не передаются. Подскажите, пожауйста, как их передать?
С уважением. | |
|
|
|
|
|
|
|
для: Jaroslav
(13.12.2008 в 11:57)
| | Что бы указать вам на ошибку, почему переменные не передаются, надо хотя бы видеть код :)
ЗЫ. а вообще кнопка должна быть BUTTON, а не SUBMIT вроде бы... | |
|
|
|
|
|
|
|
для: DEM
(13.12.2008 в 13:28)
| | так приведите пример кода сами...
Как я его приведу, если я не знаю, как передать? :)
да. И button пробовал. Не получается... это на javascript делается?
Я не хочу использовать библиотеки, типа query.. Хочу разобраться, как это сделать самому. | |
|
|
|
|
|
|
|
для: 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'];
?>
|
| |
|
|
|
|
|
|
|
для: Jaroslav
(13.12.2008 в 11:57)
| | Вы каким методом передаете (POST или GET) и каким методом обработчик принимает данные (POST или GET)? Форма и обработчик расположены на одном и том же виртуальном хосте? | |
|
|
|
|
 2.4 Кб |
|
|
для: cheops
(13.12.2008 в 15:20)
| | Посмотрите, пожалуйста, в файле - aj.rar.
привел там небольшой пример.
передается методом POST.
Мне надо, чтобы в файл test.php передавались переменные info и fio (к примеру).
Вот пытаюсь понять, как это сделать. | |
|
|
|
|
|
|
|
для: 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"; }
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.12.2008 в 14:39)
| | да проблема в том, что в обработчик test.php не передаются переменные формы без перезагрузки страницы
echo $_POST['fio'];
echo $_POST['info'];
ничего не выводит.... Пустой экран. | |
|
|
|
|
|
|
|
для: cheops
(13.12.2008 в 15:20)
| | ну что я примером аякса просто так делился? :)))
Подскажите, пожалуйста. Вообще вопрос сводится к тому, как при помощи объектной модели документа передать значение value какой-либо переменной... | |
|
|
|
|
|
|
|
для: Jaroslav
(13.12.2008 в 21:48)
| | >Вообще вопрос сводится к тому, как при помощи объектной модели документа передать
>значение value какой-либо переменной...
Что-то не очень понятно... | |
|
|
|
|
|
|
|
для: 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" - написано не правильно... | |
|
|
|