Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pablo Hobus

[Resolvido] Problemas no envio de um input radio

Recommended Posts

Olá galera, estou com um problema e não estou conseguindo solucionar, java não é muito meu forte mais tenho uma noção básica..

o problema: criei um form e nele eu envio um valor em um input text(esse funciona normal), além deste, possuo mais dois intput radio com mesmo nome, porém, com values diferentes..

 

função java:

<script type="text/javascript">
function Simulador(){
	dynConObj.loadContent('mostra_simulacao','pg_simulador/resultado.php?capital=' + document.form_simulador.capital.value + '&periodo=' + document.form_simulador.periodo.value);
}
</script>

função form:

<form name="form_simulador" action="javascript:Simulador();" >
<input name="capital" type="text" value="" />
<input name="periodo" type="radio" value="0" class="simulador" checked="checked" />
<input name="periodo" type="radio" value="1" class="simulador" /> 
<input type="submit" value="simule" title="simule" />
</form>

se colocar os names diferentes no input radio, ele gera a valeu corretamente, mais se eu deixar como esta, os dois radio com o mesmo name ele me passa o value = undefined (eu tenho que deixar os names iguais para ele selecionar um dos dois, pois, tenho uma função em php que necessita disso)

 

eu posso tambem passar os dois radios com o name diferente(pois, consigo fazer a função de pegar o que não ta vazio), porém, não posso passar os dois selecionados, ou é um ou é outro...

 

alguem sabe me dizer porque e se tem como solucionar isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se colocar os names diferentes no input radio, ele gera a valeu corretamente, mais se eu deixar como esta, os dois radio com o mesmo name ele me passa o value = undefined

 

ELE quem ?

 

onde você definiu a função:

dynConObj.loadContent() ?

 

teste o valor do rádio antes de mandar... enviando apenas o que foi marcado.

 

Java é diferente e não tem nada a ver com Javascript

Estamos em javascript aqui e não java.

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa função é um script em ajax, eu passo esse comando, ele abre na div "mostra_simulacao" a página "pg_simulador/resultado.php"

até aqui tudo bem funciona normalmente.. como eu possuo dois campos no fomr adcionei "?capital=' + document.form_simulador.capital.value + '&periodo=' + document.form_simulador.periodo.value", para que eu pegue este valor atraves de uma função php, sendo este um $_GET.. até aqui funciona normal..

 

o problema todo ta na hora dele receber o valor do campo "periodo", porque os dois estao com o mesmo nome, se eu deixar só um radio ou colocar nomes diferentes ele recebe o valor correto, mais se eu coloco os dois radios com o mesmo nome ele não recebe, ele gera esse valor undefined

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução:

 

teste o valor do rádio antes de mandar... enviando apenas o que foi marcado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian primeiramente obrigado pela ajuda.. então vamos a um exemplo:

 

eu já testei ele com apenas o input text name="capital" e um input radio name="periodo" com value "0", se for assim ele passa os valores corretos..

 

se eu passar o input text name="capital", um input radio name="periodo" com value="0" e um input radio name="periodo_2" com value="1", ele também funciona..

 

agora se eu passar o input text name="capital", um input radio name="periodo" com value="0", e outro input radio name="periodo" com value="1" ele gera o valor undefined, pois os names estão iguais..

 

se tiver uma função java que bloqueie um radio enquanto o outro esta selecionado, pois, eu quero pegar apenas um periodo selecionado não os dois.. já daria certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desnecessário cara.. se concentre em fazer oque eu disse.

 

Exemplo:

 

<html><head><script type="text/javascript">function pega_radio_selecionado( name ){	var inputs = document.getElementsByName( name );	for( var i=0; i<inputs.length; i++ )		if( inputs[i].checked==true )			var marcado = i;				alert( ' O rádio selecionado é o de value = '+inputs[marcado].value );	escreve( inputs[marcado].value );	return inputs[marcado].value;}function escreve( valor ){	document.getElementById('resultado').innerHTML = valor;}</script><style></style></head><body>	CSS <input type="radio" name="periodo" value="CSS" /><br /> 	Javascript <input type="radio" name="periodo" value="Javascript" /><br />	<input type="button" value="Pegar Rádio Selecionado" onclick="pega_radio_selecionado( 'periodo' )" />		<div id="resultado"></div></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian, consegui fiquei até agora mechendo remechendo euheuhe valeu grande muito obrigado mesmo, funciono certinho.. no final fico assim:

 

var inputs = document.getElementsByName('periodo');        
for( var i=0; i<inputs.length; i++ )                
if( inputs[i].checked==true )                        
var marcado = i;                                		
dynConObj.loadContent('mostra_simulacao','pg_simulador/resultado.php?&capital=' + document.form_simulador.capital.value + '&periodo=' + inputs[marcado].value);

abraços e novamente muito obrigo..

Tópico RESOLVIDO

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.