Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Paiva

[Resolvido] Manter estado de um checkbox mesmo apos o post.

Recommended Posts

Prezados, estou montando um sisteminha aqui, que eu preciso manter o estado do checkbox mesmo depois de o formulario ter sido postado. Explicando, eu gero os checkbox de maneira dinamica:

<%
While NOT Rs_Consulta_Opcionais.EoF 
IF (contador MOD 4 = 0) THEN
response.write vbCrLf & "<TR>"
END IF
%>
<td><input type="checkbox" name="opcionais" value="<%=Rs_Consulta_Opcionais("cod_opcional")%>"><%=Rs_Consulta_Opcionais("nome_opcional")%></td>
<%
Rs_Consulta_Opcionais.movenext
contador = contador + 1
wend
%>
Vamos supor que o usuario marcou 5 checkbox, e postou o formulario (para mesma pagina), sendo que qualquer outro campo do form esteja errado eu preciso reapresentar o form para o usuario, eu nao estou conseguindo manter selecionado os ckeckboxes que foram marcados. Jah tentei de todas as formas possiveis para nao consigo. Sou novato em programacao ASP e segue algumas tentativas,

 

'function marca_checkbox()
			'vet=split(request.form("opcionais"),",") 
			'for x=lbound(vet) to ubound(vet)
 			'if cstr(vet(x)) = cstr(Rs_Consulta_Opcionais("cod_opcional")) then 
			'response.write "checked"
			'End If 
			'End Function
		
			'vet=split(request.form("opcionais"),",") 
			'for x=lbound(vet) to ubound(vet)
			'If vet(x) = "" THEN
			'response.write "vazio"
			'else
			'response.write vet(x)
			'end if
			'next
			

			vet=split(request.form("opcionais"),",") 
			While NOT Rs_Consulta_Opcionais.EoF 
			
		
			for x=lbound(vet) to ubound(vet)
			If Cstr(vet(x)) = Cstr(Rs_Consulta_Opcionais("cod_opcional")) THEN
			marca = "checked"
			else
			marca = "Unchecked"
			end if
			next

			IF (contador MOD 4 = 0) THEN
			response.write vbCrLf & "<TR>"
			END IF
			%>

<td><input type="checkbox" name="opcionais" value="<%=Rs_Consulta_Opcionais("cod_opcional")%>" <%if  marca<>"" then response.write marca End If%> ><%=Rs_Consulta_Opcionais("nome_opcional")%></td>
			<%
			
			Rs_Consulta_Opcionais.movenext
			contador = contador + 1
			wend
			
			%>
Essa foi minha ultima tentativa, sem sucesso.

Se alguem puder me ajudar ficarei grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, cara ñ entendi pq você usa um contador para exibir o checkbox

 

Para manter selecionado tenta assim ::

 

<%if marca <>"" then 
response.write "<input type='checkbox' name='opcionais' checked>" else response.write "<input type='checkbox' name='opcionais'>" end if %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, consegui resolver. Na verdade o contador serve apenas para escrever uma tag <tr> tipo, eh para escrever quatro colulas por vez.

O problema estah nos espacoes que estava asp colection coloca no array de checkbox. Atraves de replace consegui verificar o erro.

 

De qualquer forma obrigado pela ajuda!

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.