Ir para conteúdo

POWERED BY:

Arquivado

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

TatiFerrari

retorno de perguntas dinâmicas no form !

Recommended Posts

Olá PESSOAL ! Estou criando um formulário para pesquisa dinamico , onde as perguntas apresentadas, são as que estão ativas no banco de dados, se tiver 3 perguntas ativas, mostro as 3 , se tiver 7. mostrarei as 7. No momento todas podem selecionar a responda em um radio button . até ai , tudo bem, montei o nome da coleção de radio, de acordo com o código da pergunta , veja abaixo : <% RSP.MoveFirst Do While Not RSP.EOF %> <tr> <td class="celcabesp"><%= RSP("Descricao")%></td> </tr> <tr> <td> <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="O" ID=Radio5>Ótimo <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="B" ID=Radio6>Bom <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="R" ID=Radio7>Regular <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="U" ID=Radio8>Ruim </td></tr> <% RSP.MoveNext Loop %>Bem meu problema, e no clicK do botão submit 'gravar a pesquisa', como chamar um form, para gravar no banco , se não sei como buscar quais perguntas estavam ativas no momento da pesquisa... não posso simplesmente fazer respostaper1 = request.form("perg_1")Alguém sabe como posso fazer isso ???desde já agradeço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

OláVamos ver se eu entendivocê precisa submeter os dados.Na pagina que vai recebê-los, você precisa saber qual radio button foi selecionado.É isso?Quanto mais detalhes forem explicados aqui, mais facil vai ser a interpretação!Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi ele na verdade não sabe qual RadioX vai aparecer.tenta com um loopi=1while i = 10request.form ("Radio"&i)i=i+1wend

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso saber qual radio button foi selecionado , de qual pergunta.......ou seja.. suponhamos que no banco eu tenha os seguintes registros de perguntas:codigo Descricao Ativo 4 Como você considera o atendimento ? S5 A atenção do técinco ao seu problema Foi ? N 6 A solução dada para seu problema foi ? SLogo , apenas vou montar o forma com as perguntas 4 e 6, que estão ativas, e todas as perguntas devem ser repondidas com a escolha do radio , que possui as opções otimo / bom/ razoavel/ ruim <% RSP.MoveFirstDo While Not RSP.EOF %><tr> <td class="celcabesp"><%= RSP("Descricao")%></td> </tr><tr> <td> <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="O" ID=Radio5>Ótimo <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="B" ID=Radio6>Bom<INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="R" ID=Radio7>Regular<INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="U" ID=Radio8>Ruim </td></tr> <%RSP.MoveNextLoop %>Preciso pegar qual o valor do radio , no caso , "O", "B", "R" ou "U", para cada pergunta... mas o nome da pergunta eu não sei exatamente, pode ser no momento do submit para um usuario , a perg_4 e Perg_6, como em outro momneto será perg_4 e perg_5 por exemplo .Espero que tenho conseguido ser clara..Desde já agradeço .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso saber qual radio button foi selecionado , de qual pergunta.......ou seja.. suponhamos que no banco eu tenha os seguintes registros de perguntas:codigo Descricao Ativo 4 Como você considera o atendimento ? S5 A atenção do técinco ao seu problema Foi ? N 6 A solução dada para seu problema foi ? SLogo , apenas vou montar o forma com as perguntas 4 e 6, que estão ativas, e todas as perguntas devem ser repondidas com a escolha do radio , que possui as opções otimo / bom/ razoavel/ ruim <% RSP.MoveFirstDo While Not RSP.EOF %><tr> <td class="celcabesp"><%= RSP("Descricao")%></td> </tr><tr> <td> <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="O" ID=Radio5>Ótimo <INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="B" ID=Radio6>Bom<INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="R" ID=Radio7>Regular<INPUT type=radio name="perg_<%= RSP("Codigo")%>" Value="U" ID=Radio8>Ruim </td></tr> <%RSP.MoveNextLoop %>Preciso pegar qual o valor do radio , no caso , "O", "B", "R" ou "U", para cada pergunta... mas o nome da pergunta eu não sei exatamente, pode ser no momento do submit para um usuario , a perg_4 e Perg_6, como em outro momneto será perg_4 e perg_5 por exemplo .Espero que tenho conseguido ser clara..Desde já agradeço .

TatiDentro do Loop que monta as perguntas, monte também uma string separada por vírgula por exemplo, com todos os códigos das perguntas ativas. Depois, ao final do loop, coloque um campo hidden tipo:<input type="hidden" name="hdPerguntasAtivas" value="strPerguntasAtivas"> onde strPerguntasAtivas é a string montada com os códigos das perguntas ativas.Assim, na página onde você recebe os valores, você monta algo assim:
strPerguntasAtivas = Request.Form("hdPerguntasAtivas")vetPerguntasAtivas = Split(strPerguntasAtivas, ",")For I = LBound(vetPerguntasAtivas) to UBound(vetPerguntasAtivas)   'Aqui você vai conseguir recuperar o valor apenas das perguntas que apareceram na página anterior.   resposta = Request.Form("perg" & vetPerguntasAtivas(I)   'Executa comando INSERT no bd com os valores recuperados.Next
Caso você não prefira não trabalhar com campo hidden e vetor, execute na segunda página o mesmo select pra buscar as perguntas ativas e faça algo semelhante, porém ao invés de varrer o vetor, varre o recordset gerado pelo select. É mais fácil.. mas tem o ponto negativo de que se alguém ativar ou desativar alguma pergunta enquanto a pessoa responde, você não vai conseguir ter certeza absoluta de que as perguntas que a pessoa respondeu serão as mesmas do momento da inclusão das respostas.Espero ter ajudado..Abraços,Cassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Página para onde o form deve apontar:

Sql = "Select * From NomeTabela Where Ativo = 'S'"Set RSP = Server.CreateObject("AdoDb.RecordSet")RSP.Open Sql,Conn,1,2While Not RSP.Eof Response.Write "Pergunta: "&RSP("Descricao")&"<br>" Response.Write "Resposta: "&Request("perg_"&RSP("Codigo"))&"<br><br>"RSP.MoveNextWend

Obs: Esse exemplo apenas irá mostrar os resultados, não fiz a ação de gravar a resposta no banco de dados pois não sei a estrutura do mesmo.

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.