Показать сообщение отдельно
  #1 (permalink)  
Старый 27.07.2010, 14:38
Интересующийся
Отправить личное сообщение для boris2000 Посмотреть профиль Найти все сообщения от boris2000
 
Регистрация: 25.11.2009
Сообщений: 22

как правильно передвать имя radiobutton в функции
у меня в форме набор из radiobutton, checkbox и текстовых полей.
мне надо чтобы перед отправкой формы шла проверка - все ли radiobutton пользователь отметил. если не все - выдавать ему предупреждение и форму не отправлять.

проблема в том, что кнопка в которой имя элемента задается напрямую (
<BUTTON TYPE = BUTTON ONCLICK="alert(getCheckedValue(document.forms['aef'].elements['articletype']));">Check2</BUTTON>
) - работает

а фунция CallOnSubmit, в которой я пытаюсь передавать имя набора radiobutton с вызовом той же функции
getCheckedValue(document.forms['aef'].obligatory_radiobutton_array[j])
- не работает!

исходя их этого создается впечатление что имя набора radiobutton я передаю неправильно.
подскажите, пожалуйста, как его правильно передвать.


функция проверки radiobutton такая
// сперва функция проверки radiobutton
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


функция проверки всей формы такая
function CallOnSubmit(){
// массив с именами обязательных к заполнению radiobutton
var obligatory_radiobutton_array = ["articletype", "studycoverage", "studysampling", "studiedpopulationage", "studiedpopulationsex", "studiedpopulationurbanicity", "studydesign", "studyfollowup", "otherriskfactors"];
var obligatory_radiobutton_names_array = ["Article type", "Study population coverage", "Study sampling strategy", "Studied population age", "Studied population sex", "Studied population urbanicity", "Study design", "Does study include follow-up", "Do risk factors for CKD in studied population are reported"];

var string4notice = "";
for(j = 0; j < obligatory_radiobutton_array.length; j++) {
	if (getCheckedValue(document.forms['aef'].obligatory_radiobutton_array[j]) == "")){
		string4notice = string4notice + "\n\r" + obligatory_radiobutton_names_array[j];
	}
}

if(string4notice != ""){
	string4notice = "Please note the following questions have to be answered before Abstract estimation form submission:" + "\n\r" + string4notice;
	alert (string4notice);
}

	return false;
}


а форма такая
<form action="examination_step2.php" method="post" name="aef" id="aef" target=_parent>

<BUTTON TYPE = BUTTON ONCLICK="CallOnSubmit();">Check</BUTTON><br>
<BUTTON TYPE = BUTTON ONCLICK="alert(getCheckedValue(document.forms['aef'].elements['articletype']));">Check2</BUTTON><br>

...

<div class="abstract_estimation_list"><label><input type="radio" name="articletype" value="1" />original article</label><br />

<label><input type="radio" name="articletype" value="2" />review article with data from developed world</label><br />
<label><input type="radio" name="articletype" value="3" />review article with data from developing world</label><br />
<label><input type="radio" name="articletype" value="4" />review article without mentioning the region of description</label><br />
<label><input type="radio" name="articletype" value="5" />review article without abstract (title suggests usefulness)</label><br />
<label><input type="radio" name="articletype" value="6" />registry report</label><br />
<label><input type="radio" name="articletype" value="7" />official report for health authorities</label><br />
<label><input type="radio" name="articletype" value="0" />other</label><br /></div> 

...
Ответить с цитированием