Пересылка данных из формы в скрипт и их обработка
Делаю онлайн психологический тест - чтобы результаты подсчитывались и выводились.
Сам алгоритм решения знаю. Вопрос: как сделать так чтобы данные из radiobutton посылались на скрипт и записывались в переменную. Заранее спасибо. |
Мне тоже для курсовой надо сделать психологический тест он-лайн, так я сейчас даже не знаю с чего начать :(
|
Цитата:
она имеет минимум два принципиально разных толкования Цитата:
Цитата:
на этом сайте есть достаточно материалов для этого |
Я имею ввиду, что пользователь отвечает на вопросы в форме используя переключатели radiobuttons, а после нажатия submit эти данные переходят в скрипт, где с ними происходят действия (в данном случае идет их приравнивание "если ответ - а , то к какой-нибудь переменной score прибавляется 1 , если ответ - б, то прибавляется 2 и т.д.")
я смогу приравнять их, записав в массив, но не могу их перекинуть из формы. |
скорее всего надо каждой радиокнопке присвоить id= либо name=
|
я не знаю как этот name потом обработать
|
еще раз:
под словом скрипт, вы понимаете серверный PHP(Perl/etc..)-скрипт или клиентский скрипт? Цитата:
да, для того чтобы он получил данные, нужно все радиокнопкам выставить name. JS тут не при чем Цитата:
в PHP через соответсвующие суперглобальные массивы |
Неужели средствами JS нельзя получить значение радиокнопки например с помощью var radio1 = document.getElementById('1') ???
|
вот эта конструкция почему-то в любом случае выводит on
<script type="text/javascript"> function r() { var radio1=document.getElementById('1'); var radio2=radio1.value; alert (radio2); } </script> <input type="radio" id="1" /> <input type="button" value="r" onclick="r()" /> но видимо я совсем не так написал вот эту строку var radio2=radio1.value; хотя я на самом деле понятия не имею как еще получить значение радиокнопки, но очень в этом заинтересован |
radio1.checked
|
Eugene, вот тебе уже есть начало.
Если радиокнопка нажата, то функция возвращает true , если нет, то false Осталось как-то сгруппировать кнопки, чтоб например в первом вопросе при трех вариантах ответа можно было нажать только одну из них и в следующем также. если например на странице 10 вопросов, в каждом по три варианта ответа, то после сабмита, мы получим только 10 нажатых кнопок и 20 не нажатых. |
Всем спасибо огромное, но я, если честно так и не понял как надо сделать - наверное тупой.
Если это чему-то поможет, то мне нужно симитировать массив $_POST(как я знаю из PHP) в js - правильно?? |
А зачем тебе пхп использовать? мне кажется , что можно вполне обойтись и js
|
Я полтемы об этом и говорю!!!
Я знаю как это сделать на пхп, поэтому и привожу пример с $_POST, но прошу всех кто знает помочь мне сделать то же самое на js, но пока не понимаю, что мне предлагают сделать. |
Щас усе будет, я почти наковырял немного, только вот отлаживаю. Щас протестирую на маленьком примере и выложу :)
|
Ох спасибо тебе, demix, кстати, можешь зайти на мою вторую тему, у меня там готовый выложен, но его надо чуть-чуть отредактировать (он выбирает только 1 "правильный ответ", а надо все)
|
+1 тебе!!
|
Смотри вот что я написал, только чета не совсем правильно
<script type="text/javascript"> function r() { var radio1=document.getElementById('1'); var radio2=radio1.checked; if (radio2='true'){ alert ('Вы правы');} else { alert ('Вы ошиблись');} } </script> Сколько будет 2х2 ??? <form> <input type="radio" name="radio" id="1" /> 4 <br /> <input type="radio" name="radio" id="2" /> 5 <br /> <input type="radio" name="radio" id="2" /> 3 <br /> </form> <input type="button" value="r" onclick="r()" /> у меня в любом случае выводит "Вы правы" кстати где твоя вторая тема? |
"Редактирование скрипта обработки" называется, старался!!
|
О, ну так там уже готовый скрипт, а я тут демонстрирую зачатки какие-то. Я даже расстроился :(
так а в том что осталось сделать то? |
он мне только один ответ делает правильным и прибавояет к score номер этого ответа, а нужно, чтобы после нажатия любого ответа, он прибавлял к score его номер.
(ну если в кратце - то там тест где только 1 ответ правильный, а мне нужен тест, где все отвветы) |
Вложений: 1
Eugene,
Блин, я невнимательно прочел тему, ну короче, если Вам надо, чтобы все варианты были правильными, то выложил файлик. 1 выбор из 4 вариантов, суммируется его value (короче - балл варината). Обрабатывает тест фун-я res() , в которой к переменной score суммируется номер варианта, после вызова фун-и Вы должны сбросить переменную score=0(сделайте сами) для того, чтобы если Вы захотите пройти заново тест переменная score принимала новые значения. Если хотите тест с большим функционалом - сделаю за деньги. |
всем сапсибо!!
|
Если форма посылает данные методом GET, то они передаются в теле HTTP-запроса. Если методом POST, то они передаются через стандартный поток ввода STDIN, а в глобальную переменную CONTENT_LENGTH записывается длина строки данных. Я сам сейчас ломаю голову - как вытащить информацию из этих двух источников.
|
mbasenko,
если данные передаются методом GET, то они находятся в заголовках, методом POST -- в теле запроса. На каком языке вы пытаетесь вытащить данные? |
У меня передача методом POST, данные хотелось бы вытащить на JavaScript.
|
Уточню на всякий случай: браузерный JavaScript? Если да, то никак.
|
Большое спасибо!!
|
Часовой пояс GMT +3, время: 02:22. |