Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal bom dia!
Estou com um problema: Estou querendo recuperar o valor de um campo, dentro de um input de seleção, mas dá erro.
Não sei o que fazer. Segue abaixo o code. Abraços
<%FUNCTION SELECTED (Ativa, Inativa) IF cSTR (Ativa) = cSTR (Inativa) THEN SELECTED = "SELECTED" END IFEND FUNCTION%> <select name="Status" class="form2"> <option value="Ativa" <%SELECTED ("Ativa", Status)%>>Ativa</option> <option value="Inativa" <%SELECTED ("Inativa", Status)%>>Inativa</option> </select>
Resolveu por um lado Jon.
Por exemplo: uma certa enquete encontra-se ativa, e outras 3 inativas. Quando vou editar uma das enquetes inativas, o input select mostra somente como 'Ativa' sendo que ela encontra-se no bd como 'Inativa'. E outra, quando faço alguma mudança de 'Ativa' para 'Inativa' ou virse versa, a modificação n é salva.
O code com sua dica ficou assim:
<select name="Status" class="form2"> <option value="Ativa" <%response.write(SELECTED ("Ativa", Status))%>>Ativa</option> <option value="Inativa" <%response.write(SELECTED ("Inativa", Status))%>>Inativa</option> </select>
que tipo de valor você passa em Status?se não atualiza depois possivelmente você não recarregou a página depois de atualizar
o input já está fazendo a seleção corretamente... mas ele n recupera no input de seleção a opção que foi selecionada.EX: vamo supor que eu adicionei algo e no campo 'status' coloquei como 'inativa'e depois quando eu clico para editar, e vou no campo de seleção 'status' da mesma, o input select n recupera o valor que foi selecionado anteriormente, ou seja, a opção 'inativa'. Será que é algum problema na função que criei?é isso :)
<select name="Status" class="form2">
<option value="Ativa" <%response.write(SELECTED ("Ativa", Status))%> <%=SELECTED%>>Ativa</option>
<option value="Inativa" <%response.write(SELECTED ("Inativa", Status))%> <%=SELECTED%>>Inativa</option>
</select>
tipo isso cara?é isso aí Ted... mas testei aqui e dentro do input de seleção retornou:Wrong number of arguments or invalid property assignment: 'SELECTED' editar_enquetes.asp, line 140
tente assim:
<select name="Status" class="form2">
<option value="Ativa" <%response.write("Ativa", Status)%> <%=SELECTED%>>Ativa</option>
<option value="Inativa" <%response.write("Inativa", Status)%> <%=SELECTED%>>Inativa</option>
</select>testei essa nova possibilidade Ted, e deu erro novamente cara.Esse miseravi desse input com seleção é complicado viu :)
o que é esse status ai cara? tente isso ai
<select name="Status" class="form2">
<option value="Ativa" <%response.write(Status)%> <%=SELECTED%>>Ativa</option>
<option value="Inativa" <%response.write(Status)%> <%=SELECTED%>>Inativa</option>
</select>o status é o nome do input pow....ele vai recuperar o valor que tá la no banco, ou "ativa" ou o valor "inativa" e mostrar no input select o valor selecionado. Ou seja, com o SELECTED
melhor assim então, nessa lógica, você pode aproveitar simples isso
<select name="Status" class="form2">
<%
If ""&RS("Status")&"" = "Ativa" Then
Response.Write("<option value=""Ativa"" Selected>Ativa</option>")
Response.Write("<option value=""Inativa"">Inativa</option>") Response.Write("<option value=""Ativa"">Ativa</option>")
Response.Write("<option value=""Inativa"" Selected>Inativa</option>")Olha só, n deu erro... mas quando no campo select apareceu sem valores alguns.EX: Imagine que você tem um campo com 2 valores (ativa ; inativa) e quando você clica no select pra selecionar uma das opções n aparece nenhuma delas. Fica tudo puro. Só o select lá puro.Esse problema do select tá complicando a nossa paciência hein broder. :) Caramba...
tente
<select name="Status" class="form2"><option <%if cstr(ucase(rs("status"))) = ucase("Ativa") then response.write("selected=""selected""")%> Value="Ativa">Ativa</option><option <%if cstr(ucase(rs("status"))) = ucase("Inativa") then response.write("selected=""selected""")%> Value="Inativa">Inativa</option></select>
Jon. retornou dentro do input select isso:
Microsoft VBScript runtime error '800a000d' Type mismatch: 'rs' /enquete/editar_enquete.asp, line 151
como estão gravados os dados nesse campo, coloca i um exemplo e o tipo de dados na tabela
o nome da tabela se chama "enquete"umas das colunas se chama "Status" e está como tipo 'text' lá no banco.
na verdade eu queria saber o que tem gravado, mas tenta isso<select name="Status" class="form2"><option <%if ucase(rs("status")) = ucase("Ativa") then response.write("selected=""selected""")%> Value="Ativa">Ativa</option><option <%if ucase(rs("status")) = ucase("Inativa") then response.write("selected=""selected""")%> Value="Inativa">Inativa</option></select>
bom o que tem gravado no campo Status da tabela do bd é "ATIVA" para o id 01.Já para o id 02 e id 03, tem gravado o nome "INATIVA".SObre a nova possibilidade do code, vou fazer um teste aqui.
Pessoal consegui.
Era um erro idiota meu...
Esqueci de dizer a vcs que no código tinha espécie de declaração que em vez de RS eu tinha que usar LISTA. Assim:
<%
AbreConexao
listar = "SELECT * FROM Enquete WHERE Poll_ID="&request.querystring("Poll_ID")&""
<b>Set lista = Conexao.Execute(listar) </b>
%>
Segue abaixo o code com a alteração de RS para LISTA. Fica aí a dica quando alguém tiver problemas no RS. Verifique se em alguma parte do seu asp, n tem alguma linha como a destada acima. Abraços a quem ajudou ou simplesmente olhou.
<select name="Status" class="form2"><option <%if cstr(ucase(lista("status"))) = ucase("ATIVA") then response.write("selected=""selected""")%> Value="ATIVA">ATIVA</option><option <%if cstr(ucase(lista("status"))) = ucase("INATIVA") then response.write("selected=""selected""")%> Value="INATIVA">INATIVA</option></select>
:blink:
<option value="Ativa" <%response.write(SELECTED ("Ativa", Status))%>>Ativa</option>