спасибо, исправил. Самое потрясающее что все-равно не работает.
не работает даже отдельная кнопка с этой функцией <BUTTON TYPE = BUTTON ONCLICK="getCheckedValue(document.forms['aef'].elements['articletype']);">Check2</BUTTON><br> |
мне нужно понять в каких группах radiobutton не сделано никакого выбора, и показать пользователю напоминание о них, и форму не отправлять до тех пор пока хоть какой-то выбор во всех нужных группах не сделает.
но в принципе и выбранные value наверное будет достаточно для этого. если value не число - значит и выбора не было? или не так? |
Цитата:
|
В value можно сохранить имена чекбоксов.
float, угу) |
Цитата:
|
Besides all.
getCheckedValue не делает перебор элементов раз. Она возвращает value, а у вас в 1-м НОЛЬ стоит, который преобразуется в false |
Поясните что вы хотите от скрипта, возможно его проще переписать, чем переделать;)
|
Цитата:
и еще один важный момент - в форме есть не только radiobutton, но и флажки checkbox - а для них мне будет нужна отдельная функция, потому что они там сложно объединены в группы. поэтому надо "пробегаться" очень избирательно. это возможно? |
Цитата:
мне надо чтобы перед отправкой формы шла проверка - все ли radiobutton пользователь отметил. если не все - выдавать ему предупреждение и форму не отправлять. с checkbox все сложнее. они сгруппированы по смыслу, при этом имена checkbox из одной смысловой группы разные, например как в этом кусочке кода, в котором все флажки входят в одну смысловую группу <div class="abstract_estimation_h3">Nephrological (urological) abstract topics:<a href="/gbd/mediawiki/index.php/Abstract_estimation_form" target=helpwindow><img src="/gbd/images/info_16.png" alt="" border=0></a></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_ckdonly" value="1" onclick="enableTxtField(this)" />only CKD in total without specifying nosology</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_ckdwithdetails" value="1" onclick="enableTxtField(this)" />CKD with kidney diseases nosology evaluation after initial screening</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_chronicgn" value="1" onclick="enableTxtField(this)" />chronic glomerulonephritis</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_acutegn" value="1" onclick="enableTxtField(this)" />acute glomerulonephritis</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_chronicpn" value="1" onclick="enableTxtField(this)" />chronic pyelonephritis</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_chronictin" value="1" onclick="enableTxtField(this)" />chronic tubulointersticial nephritis</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_urolithiasis" value="1" onclick="enableTxtField(this)" />urolithiasis</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_congenital" value="1" onclick="enableTxtField(this)" />congenital GU malformations</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_hereditary" value="1" onclick="enableTxtField(this)" />heredetary kidney diseases</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_hypertensive" value="1" onclick="enableTxtField(this)" />hypertensive kidney disease</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_dm1" value="1" onclick="enableTxtField(this)" />diabetic nephropathy in type 1 DM</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_dm2" value="1" onclick="enableTxtField(this)" />diabetic nephropathy in type 2 DM</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_dmunknown" value="1" onclick="enableTxtField(this)" />diabetic nephropathiy without DM type detalisation</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_bph" value="1" onclick="enableTxtField(this)" />benign prostatic hypertrophy</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_esrd" value="1" onclick="enableTxtField(this)" />end-stage renal disease</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_arf" value="1" onclick="enableTxtField(this)" />acute renal failure</label></div> <div class="abstract_estimation_list"><label><input type="checkbox" name="nosology_other" value="1" onclick="enableTxtField(this)" />other</label> <input type="text" name="nosology_otheradd" id="nosologyother" size="50" value="" disabled="true"></div> если пользователь выбрал хотя бы один из флажков смысловой группы, то это меня устраивает. если не выбрал ни один из флажков смысловой группы - опять же, надо показать ему предупреждение с названием смысловой группы. я начал с radiobutton потому что вроде как с ними ситуация попроще. но оказалось - не так:( |
Я предлагаю так
сделайте это объектом: var obligatory_radiobutton_array = {\'name1\': 0, \'name2\': 0, и т.д.}; Функция обработчик должна делать следующее: 1. выбрать все элементы формы и перебрать их; 2. в каждом переборе спросить у инпута его имя, тип и выбран ли он; 3. если выбран => смотрим есть ли в obligatory_radiobutton_array свойство=имени инпута; если да, делаем его = 1; 4. делаем перебор obligatory_radiobutton_array. Если есть хоть одно свойство = 0, вызаваем функцию с оповещением, возвращаем фолс |
Часовой пояс GMT +3, время: 10:57. |