Boa tarde a todos, o Brasil acabou de vencer a Australia por 2 X 0 !!!!!!!!!!! 8-))[color=#FF0000]
Seguinte: tenho um formulário que contém um número dinâmico de botões do tipo radio, este número poderá variar sempre, pois como eu disse é dinâmico. O meu problema está justamente aí, porque, como não sei quantos radios haverão, não estou conseguindo criar um javascript para verificar se o usuário marcou pelo menos um destes radios. Pois se nenhum radio for marcado o form não pode ser enviado, e deverá exibir uma alert.
Ja tentei de diversas maneiras, com loop for, loop while, mas doesn´t work!!!!
Tentei também com document.forms[0].elements['meuRadio'].checked, mas doens´t work too...
Por favor alguem me ajuda ae, pois é urgente!!!
Obrigado a todos e abraço 8-))
Validar radio
Started By Luizão, 18/06/2006, 15:36
2 replies to this topic
#1
Posted 18/06/2006, 15:36
-----------------------------------------------------------------------------------------*
Faça você mesmo o que ninguém fará por você, e aí alguém poderá te ajudar
-----------------------------------------------------------------------------------------*
#2
Posted 18/06/2006, 16:13
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador
#3
Posted 18/06/2006, 23:22
Caso tenha interesse... fiz uma função pra percorrer elementos de um formulário e alertar sobre todos os itens definidos e selecionados.
Talvez seja interessante vc analisar e quem sabe extrair algo.
Ainda assim, queria ilustrar o porquê você não consegue acessar os elementos radio com mesmo name...
document.forms["form_name"].elements["radio_name"]
Teoricamente, você deveria acessar um array... e dessa forma, faria isto:
document.forms["form_name"].elements["radio_name"][3]
Para acessar o 4o. elemento "radio_name". No entanto, isto está incorreto e você provavelmente receberá um belo undefined.
Ao invés de acessar um elemento específico usando o ArrayList (elements), você tem que acessar o Array de elementos com o nome "radio_name", e não tentar acessar um único elemento.
Dessa forma, o que você realmente deve fazer é isto:
document.forms["form_name"].radio_name[3]
E isto acessará corretamente o elemento desejado.
Espero ter ajudado...
[]s,
Talvez seja interessante vc analisar e quem sabe extrair algo.
function setFormParam(oFormName) {
if (typeof oFormName == "string") {
oFormName = document.forms[oFormName] || document.getElementById(oFormName);
}
for (var i = 0; i < oFormName.elements.length; i++) {
var el = oFormName.elements[i];
if (el.type && el.type != undefined) {
switch (el.type) {
case "text": case "password": case "hidden":
case "textarea": case "button": case "submit":
alert(el.name + " = " + el.value);
break;
case "select-one":
if (el.selectedIndex >= 0)
alert(el.name + " = " + el.options[el.selectedIndex].value);
break;
case "select-multiple":
var a = [];
for (var j = 0; j < el.options.length; j++) {
if (el.options[j].selected)
a.push(el.options[j].value);
}
alert(el.name + " = " + a.join(", "));
break;
case "checkbox": case "radio":
if (el.checked || el.selected)
alert(el.name + " = " + el.value);
break;
default:
// Does nothing
break;
}
}
}
}
Ainda assim, queria ilustrar o porquê você não consegue acessar os elementos radio com mesmo name...
document.forms["form_name"].elements["radio_name"]
Teoricamente, você deveria acessar um array... e dessa forma, faria isto:
document.forms["form_name"].elements["radio_name"][3]
Para acessar o 4o. elemento "radio_name". No entanto, isto está incorreto e você provavelmente receberá um belo undefined.
Ao invés de acessar um elemento específico usando o ArrayList (elements), você tem que acessar o Array de elementos com o nome "radio_name", e não tentar acessar um único elemento.
Dessa forma, o que você realmente deve fazer é isto:
document.forms["form_name"].radio_name[3]
E isto acessará corretamente o elemento desejado.
Espero ter ajudado...
[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










