Ir para conteúdo

POWERED BY:

Arquivado

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

Leo KW

Checando radio pelo DB!

Recommended Posts

Fala galera,

 

Eu inclui a opção de Sexo num formulário de cadastro em ASP, ta gravando no banco de dados, tudo certinho, só que depois que o usuário se cadastra, se ele entrar no cadastro de novo, não mostra mais qual ele selecionou, Masculino ou Feminino.

 

Ex:

 

<input type="checkbox" name="autorizo_newsletter" value="1" checked <% If Session("autorizo_newsletter") = 1 And readonly = "readonly" Then response.write "disabled" %>
Aqui ele confere se a checkbox ta markada ou nao, pra mostrar caso o cliente entre no cadastro de novo, eu preciso fazer isso, só que com a opção radio do Sexo, que atualmente está assim:

 

<input type="radio" name="sexo<%=cod_coluna%>"  value="<%= Session("sexo" & cod_coluna) %>" />Feminino
			<input type="radio" name="sexo<%=cod_coluna%>" value="<%= Session("sexo" & cod_coluna) %>"/>Masculino

Alguém pode me dar uma luz?!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input type="radio" name="sexo<%=cod_coluna%>"  value="<%= Session("sexo" & cod_coluna) %>" <% if Session("sexo" & cod_coluna) = "1" then : response.Write("checked") : end if %> />Feminino
<input type="radio" name="sexo<%=cod_coluna%>" value="<%= Session("sexo" & cod_coluna) %>" <% if Session("sexo" & cod_coluna) = "1" then : response.Write("checked") : end if %> />Masculino

assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não rolou cara, dessa forma ai ele sempre mostra Feminino, independente de qual eu escolher na hora do cadastro.

 

=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque nao crias duas variaveis, uma feminina o e outra masculina. qunado recebes os dados da BD ai verificas qual esta a um por exemplo se tiveres no mesmo campo sendo 1 para masculino e 0 para feminino entao crias um if . se for 0 poes a variavel feminina com " checked " e a masculina com "" e vice versa. depois na tua option é que poes la a variavel. ja agora , uma option da BD pode te retornar verdadeiro, true ou 1 por isso podes estar a receber verdadeiro mas tar a fazer o if pelo valor 1.

 

Eu costumo usar estar funcção:

 

Function fGetCHECKED(strValue)
	If UCASE(strValue) = "TRUE" OR UCASE(strValue) = "VERDADEIRO" or strValue = "1" Then
		fGetCHECKED="CHECKED"
	Else
		fGetCHECKED=""
	End If
End Function

se usares esta funcção ja nem precisas das variaveis :D

 

Espero ter ajudado ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque nao crias duas variaveis, uma feminina o e outra masculina. qunado recebes os dados da BD ai verificas qual esta a um por exemplo se tiveres no mesmo campo sendo 1 para masculino e 0 para feminino entao crias um if . se for 0 poes a variavel feminina com " checked " e a masculina com "" e vice versa. depois na tua option é que poes la a variavel. ja agora , uma option da BD pode te retornar verdadeiro, true ou 1 por isso podes estar a receber verdadeiro mas tar a fazer o if pelo valor 1.

 

Eu costumo usar estar funcção:

 

Function fGetCHECKED(strValue)
	If UCASE(strValue) = "TRUE" OR UCASE(strValue) = "VERDADEIRO" or strValue = "1" Then
		fGetCHECKED="CHECKED"
	Else
		fGetCHECKED=""
	End If
End Function

se usares esta funcção ja nem precisas das variaveis :D

 

Espero ter ajudado ;)

Tipo esse exemplo, que foi dado num post logo acima?

 

<input type="radio" name="sexo<%=cod_coluna%>"  value="<%= Session("sexo" & cod_coluna) %>" <% if Session("sexo" & cod_coluna) = "1" then : response.Write("checked") : end if %> />Feminino
<input type="radio" name="sexo<%=cod_coluna%>" value="<%= Session("sexo" & cod_coluna) %>" <% if Session("sexo" & cod_coluna) = "1" then : response.Write("checked") : end if %> />Masculino

Mas não rolou cara, não sei porque!!

 

=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pega no exemplo e acrecenta a função:

 

<input type="radio" name="sexo<%=cod_coluna%>"  value="<%= Session("sexo" & cod_coluna) %>" <%=fGetChecked(Session("sexo" & cod_coluna)%> />Feminino
<input type="radio" name="sexo<%=cod_coluna%>" value="<%= Session("sexo" & cod_coluna) %>" <%=fGetChecked(Session("sexo" & cod_coluna)%> />Masculino

Inclui a minha funcao e tenta ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

há uma coisa que me esta a escapar. como defines segundo o campo se é feminino ou masculino ?? atraves de um bit?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Christophe,

 

devo estar pecando nessa hora, não sei como devo defini-los. talvez uma variavel 0 para feminino e 1 para masculino?!

 

Ainda não consegui nada!! =/

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu axo que seria a melhor opção. pelo menos eu faria assim. Verificaria Qual das option esta checkada ao gravar e em vez de gravar em dois campos diferentes criava um campo chamado sexo. 0 para feminino e 1 para masculino ou vice versa. e depois quando receberes os dados caso queiras editar é simples. crias um if onde ves que se for igual a 0 entao definines o strFeminino = " Checked " e o strMasculino = "" senao fazes o contrario.

 

Ajudei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu axo que seria a melhor opção. pelo menos eu faria assim. Verificaria Qual das option esta checkada ao gravar e em vez de gravar em dois campos diferentes criava um campo chamado sexo. 0 para feminino e 1 para masculino ou vice versa. e depois quando receberes os dados caso queiras editar é simples. crias um if onde ves que se for igual a 0 entao definines o strFeminino = " Checked " e o strMasculino = "" senao fazes o contrario.

 

Ajudei?

Você poderia me explicar mais ou menos como eu implemento essa idéia no meu código?!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Partindo do principio que tens um campo chamado sexo onde 0 é feminino e 1 é masculino farias assim.

 

'Quando recebes os dados
<%
if fGetBit(rs.fields("Sexo").value) = 1 then
	strCheckedFemino = " checked "
	strCheckedMasculino = ""
Else
	strCheckedFemino = ""
	strCheckedMasculino = " checked "
end if
%>
'Pores selecionado
<input type="radio" name="sexo"  value="0" <%=strCheckedFemino%>>Feminino
<input type="radio" name="sexo" value="1" <%=strCheckedMasculino%> >Masculino

Uso o fGetBit porque o sql devolve ou verdadeiro ou true e esta função converte em bit

 

Function fGetBit(blnAux)
	if blnAux then
		fGetBit = 1
	else
		fGetBit = 0
	end if
End Function

Penso que isto deva funcionar mas primeiro tens de ter o tal campo do sexo.

 

Cumps

 

Christophe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde eu jogo essa função??

 

Eu coloquei ela entre <% %> e ele apresentou esse erro:

 

Microsoft VBScript compilation  error '800a03ea'

Syntax error

/loja/funcoes/funcoes_endereco.asp, line 158

Function fGetBit(blnAux)
^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ta dando esse erro:

 

Microsoft VBScript runtime  error '800a01a8'

Object required: ''

/loja/funcoes/funcoes_endereco.asp, line 157

Oque pode ser, esta faltando aspas??

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste a linha 157

Isto geralmente acontece quando você tenta fechar um objeto que não foi definido, ou setar nothing,

Outra possível causa é usando um nome como um objeto reservados variável nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente precisa postar esta linha de codigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se esta pasaando dados do mesmo tipo, na funçao

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.