watto
09-14-2005, 11:45 PM
I have been trying to figure out how to work with radio buttons and javascript. In the script below I wish to grab the value of the selected radio button.
The value of the text "tyear" box is obtained with no problem, and is reported in the aler message.
The radio buttons named "grouptype" are found, but the value of the selected button is reported as undefined. The html code has a value set for each radio button.
function checkForm(formobj){
// Enter name of mandatory fields
var fieldRequired = Array("organizationName", "tyear", "grouptype");
// Enter field description to appear in the dialog box
var fieldDescription = Array("Organization Name", "Year", "Group Type");
// dialog message
var alertMsg = "Please complete the following fields:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
//textbox tyear value
if (fieldRequired[i] == "tyear")
{
alert(obj.value);
}
// radio button grouptype value
if (fieldRequired[i] == "grouptype")
{
alert(obj.value);
}
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
return true;
}else{
alert(alertMsg);
return false;
}
}
The value of the text "tyear" box is obtained with no problem, and is reported in the aler message.
The radio buttons named "grouptype" are found, but the value of the selected button is reported as undefined. The html code has a value set for each radio button.
function checkForm(formobj){
// Enter name of mandatory fields
var fieldRequired = Array("organizationName", "tyear", "grouptype");
// Enter field description to appear in the dialog box
var fieldDescription = Array("Organization Name", "Year", "Group Type");
// dialog message
var alertMsg = "Please complete the following fields:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
//textbox tyear value
if (fieldRequired[i] == "tyear")
{
alert(obj.value);
}
// radio button grouptype value
if (fieldRequired[i] == "grouptype")
{
alert(obj.value);
}
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
return true;
}else{
alert(alertMsg);
return false;
}
}