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)