|
TRIAL ↓
|
 |
|
25 Январь, 2011, 10:52:22
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Есть анкета состоящая из radio button. Несколько вопросов и нужно выбрать да/нет (value 1/0). При выборе ответа ДА появляется доп вопрос тоже radio. Нужно проверить все ли кнопки отмечены и если выбран ответ ДА, проверить выбран ли ответ на доп вопрос.
Подскажите как лучше это реализовать на jQuery. Подумываю на счет each() но не совсем уверен как это сделать. Прописывать проверку вручную для каждого вопроса как-то не хочется. Смысл в том, чтобы пока все поля не будут заполнены должным образом не давать отправить форму.
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
TRIAL ↓
|
 |
|
26 Январь, 2011, 12:38:09 , спустя 1 день 1 час 45 минут 47 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Сделал, по моему мнению, адски кривым способом:
$(function() {
$("form")
.click(function() {
var button = new Array();
for(var i = 1; i<16; i++) {
var v = $("input[name=q" + i + "]:checked").val();
if(v == "0" || v == "1") button[i] = "1";
else button[i] = "0";
if(v == "1") {
switch(i) {
case 1 :
var value = $("input[name=q1_1]").val();
if(value.length < 1) button[16] = "0";
break;
case 2 :
var value = $("input[name=q2_1]:checked").val();
if(typeof value == "undefined") button[17] = "0";
break;
case 3 :
var v1 = $("input[name=q3_1]").val();
var v2 = $("input[name=q3_2]").val();
var v3 = $("input[name=q3_3]:checked").val();
if(v1.length < 1 || v2.length < 1 || typeof v3 == "undefined") button[18] = "0";
break;
case 5 :
var value = $("input[name=q5_1]:checked").val();
if(typeof value == "undefined") button[19] = "0";
break;
case 6 :
var value = $("input[name=q6_1]:checked").val();
if(typeof value == "undefined") button[20] = "0";
break;
case 7 :
var value = $("input[name=q7_1]:checked").val();
if(typeof value == "undefined") button[21] = "0";
break;
case 9 :
var value = $("input[name=q9_1]:checked").val();
if(typeof value == "undefined") button[22] = "0";
break;
}
}
}
if(jQuery.inArray("0", button) < 0) $("#button").removeAttr("disabled");
else $("#button").attr("disabled", "disabled");
});
});
Кто что скажет толкового? :)
PS. Работает только в ИЕ, придется кнопку как-то иначе скрывать.
|
|
|
|
« Последнее редактирование: 26 Январь, 2011, 12:38:09 от TRIAL »
|
Записан
|
from TRIAL with LOVE
|
|
|
|
TRIAL ↓
|
 |
|
26 Январь, 2011, 01:12:54 , спустя 34 минуты 45 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Оказалось что $("form") понимает только ИЕ, все остальные браузеры отказываются реагировать на события внутри формы, пришлось заменить на body, пока вроде всё работает.
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
NRG ↓
|
 |
|
26 Январь, 2011, 01:17:11 , спустя 4 минуты 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Headshot!MultiKill!
Группа: нинзя Карма: 777
Сообщений: 4700 Сила слова: 16.81
|
TRIAL, не помню как в жквери но на прототайпе можно так :
$("form").observe('form:changed', function(event){
// your handler
});
как по мне так чуток правильнее
|
|
|
|
|
Записан
|
Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть

|
|
|
|
phpdude ↓
|
 |
|
26 Январь, 2011, 01:22:55 , спустя 5 минут 44 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: 20790 Сила слова: 1.66
|
NRG, буээ ну прототайп и гавно)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
NRG ↓
|
 |
|
26 Январь, 2011, 01:26:53 , спустя 3 минуты 58 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Headshot!MultiKill!
Группа: нинзя Карма: 777
Сообщений: 4700 Сила слова: 16.81
|
NRG, буээ ну прототайп и гавно)
phpdude, я имел ввиду чт онадо вешатся не на онклик формы а на ончейндж
|
|
|
|
|
Записан
|
Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть

|
|
|
|
phpdude ↓
|
 |
|
26 Январь, 2011, 01:43:26 , спустя 16 минут 33 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
NRG, согласись гавно =)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
NRG ↓
|
 |
|
26 Январь, 2011, 01:44:24 , спустя 58 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Headshot!MultiKill!
Группа: нинзя Карма: 777
Сообщений: 4700 Сила слова: 16.81
|
по сравнению с жуквери - да, говноватенько
|
|
|
|
|
Записан
|
Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть

|
|
|
|
master ↓
|
 |
|
26 Январь, 2011, 04:09:07 , спустя 2 часа 24 минуты 43 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
онсабмит блеать Спустя 3 минуты 31 секунду добавил <form onsubmit="return validate_function();">
function validate_function(){
x = $('#element_id'); if (!x.val().match(/\S/gi)) { alert('Заполни поле, пидорас!'); x.focus(); return false;}
return true;
}
|
|
|
|
|
Записан
|
|
|
|
|
master ↓
|
 |
|
26 Январь, 2011, 04:41:50 , спустя 32 минуты 43 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
а ещё можно
<form onsubmit="return validate_function(this);">
function validate_function(form){
тут перебираем поля form
}
|
|
|
|
|
Записан
|
|
|
|
|
fgets ↓
|
 |
|
26 Январь, 2011, 05:19:32 , спустя 37 минут 42 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: -1
Сообщений: 1119 Сила слова: -0.09
|
Бедняжки, required вам в помощь
|
|
|
|
|
Записан
|
эй детка не ссы в бассейн
Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
|
|
|
|
TRIAL ↓
|
 |
|
26 Январь, 2011, 05:27:51 , спустя 8 минут 19 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Замечательная вещь :)
И сколько браузеров сейчас ее поддерживают?!!
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
master ↓
|
 |
|
26 Январь, 2011, 06:37:42 , спустя 1 час 9 минут 51 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
required
проверяет на заполненность но не на соответствие регулярке
|
|
|
|
|
Записан
|
|
|
|
|
fgets ↓
|
 |
|
27 Январь, 2011, 06:48:30 , спустя 12 часов 10 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: -1
Сообщений: 1119 Сила слова: -0.09
|
required
проверяет на заполненность но не на соответствие регулярке
тема была не о регулярке или не? ну на этот случай есть pattern Спустя 34 секунды добавил
Замечательная вещь :)
И сколько браузеров сейчас ее поддерживают?!!
точно знаю что опера 11 поддерживает остальные хз Спустя 2 минуты 38 секунд добавил вот тут проде можно глянуть:
http://tinyurl.com/html5orly
но хз как часто там обновляют инфу Спустя 1 минуту 27 секунд добавил required сейчас поддерживают chrome safari opera
|
|
|
|
|
Записан
|
эй детка не ссы в бассейн
Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
|
|
|
|
fgets ↓
|
 |
|
27 Январь, 2011, 06:59:22 , спустя 10 минут 52 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: -1
Сообщений: 1119 Сила слова: -0.09
|
короче делаете жабаскрипт документ и проверяете если Mozilla то биндите к форме проверочные скрипты через жквери Спустя 47 секунд добавил А ваще нет не через Mozilla ибо chrome и safari тоже mozilla :)
|
|
|
|
|
Записан
|
эй детка не ссы в бассейн
Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
|
|
|
|