Ir para conteúdo

POWERED BY:

Arquivado

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

gitavares

Passando valores de um formulário desconhecido...

Recommended Posts

Olá,

 

Eu tenho que gerar um .doc com um formulário desconhecido e com os valores preenchidos pelso usuários do site que não serão gravados em um banco.

 

Os formulários eu tenho gravado no banco, sem value, apenas com o name. Quanto a não ter value, nao se aplica aos tipos radiobutton e select. E isso é onde está meu problema.

 

Eu consigo passar pro doc o formulário preenchido, mas somente do tipo text e checkbox. Quando eu coloco o select pra funcionar, o checkbox não funciona. Mas também o select funciona em partes, ou seja, se em alguma outra parte do formulário tiver os mesmos valores em outro combobox, ou apenas um valor igual, e esse valor igual ter sido selecionado no último combobox, todos vão ficar com o mesmo valor selecionado.

 

E o radiobutton nunca consegui fazer funcionar.

 

Eu pensei em fazer assim: assim que ele encontrar o que eu quero e alterar para o que eu quero, eu coloque daquele ponto + 1 caracter e na próxima rodada do FOR, ele leia a partir desse caracter e não volte pra fazer o replace... entendem? mas não estou sabendo fazer essa quebra... já procurei funções demais do ASP, mas não consegui nada...

 

Alguém me dá alguma solução, pls... não agüento mais fazer isso... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif valeu!

 

 

Meu código tá assim:

(...)set fso = createobject("scripting.filesystemobject")nome = Replace(date, "/", "")hora = Replace(time, ":", "")nome = nome&"-"&hora 'gerando o nome do arquivo' cria o arquivo texto com opção de sobrescrever arquivos ja existentesSet formulario = fso.CreateTextFile(server.mappath(nome&".doc"), true)' Escreve a saida do banco de dados no arquivo doc no mesmo diretorioformulario.WriteLine("<html><head><title>TESTE - Indústria Online</title><style type='text/css'>.style1 {	color: #990000;	font-weight: bold; text-decoration:underline; font-size:12px;}td{font-family:Verdana;font-size:10px;}</style></head>")formulario.WriteLine("<strong class='td'>"&session("aNome") & session("ssNome") &" | Formulário de "&session("dNome")&"</strong>")formulario.WriteLine("<table width='520' cellspacing='1' cellpadding='0' border='0' bordercolor='#FFFFFF'><tr><td colspan='4'>")do while not rs.eof	txtBloco = rs("txtBloco")	For Each item In Request.Form		checar = ""		if Server.URLEncode(CStr(item)) <> "" then			checar = "checked"		end if				if InStr(txtBloco,Server.URLEncode(CStr(Request(item)))) <> 0 then			checar = "checked selected"		end if				txtBloco = replace(txtBloco,"name="""&Server.URLEncode(CStr(item))&"""","name="""&Server.URLEncode(CStr(item))&""" value="""&replace(Server.URLEncode(CStr(Request(item))),"+"," ")&""" "&checar&" ")		if checar = "selected" then			txtBloco = replace(txtBloco,"value="""&Server.URLEncode(CStr(Request(item)))&"""","value="""&Server.URLEncode(CStr(Request(item)))&""" "&checar&" ")		end if	Next	formulario.WriteLine(txtBloco&"<br><br>")rs.MoveNextLoopformulario.WriteLine("</td></tr></table>")formulario.WriteLine("Formulário gerado em: "&now()&"<br><br>")formulario.WriteLine("</body></html>")' Fecha o objetoformulario.close

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,Eu tenho que gerar um .doc com um formulário desconhecido e com os valores preenchidos pelso usuários do site que não serão gravados em um banco.Os formulários eu tenho gravado no banco, sem value, apenas com o name. Quanto a não ter value, nao se aplica aos tipos radiobutton e select. E isso é onde está meu problema.Eu consigo passar pro doc o formulário preenchido, mas somente do tipo text e checkbox. Quando eu coloco o select pra funcionar, o checkbox não funciona. Mas também o select funciona em partes, ou seja, se em alguma outra parte do formulário tiver os mesmos valores em outro combobox, ou apenas um valor igual, e esse valor igual ter sido selecionado no último combobox, todos vão ficar com o mesmo valor selecionado. E o radiobutton nunca consegui fazer funcionar.Eu pensei em fazer assim: assim que ele encontrar o que eu quero e alterar para o que eu quero, eu coloque daquele ponto + 1 caracter e na próxima rodada do FOR, ele leia a partir desse caracter e não volte pra fazer o replace... entendem? mas não estou sabendo fazer essa quebra... já procurei funções demais do ASP, mas não consegui nada...Alguém me dá alguma solução, pls... não agüento mais fazer isso... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif valeu!Meu código tá assim:

(...)set fso = createobject("scripting.filesystemobject")nome = Replace(date, "/", "")hora = Replace(time, ":", "")nome = nome&"-"&hora 'gerando o nome do arquivo' cria o arquivo texto com opção de sobrescrever arquivos ja existentesSet formulario = fso.CreateTextFile(server.mappath(nome&".doc"), true)' Escreve a saida do banco de dados no arquivo doc no mesmo diretorioformulario.WriteLine("<html><head><title>TESTE - Indústria Online</title><style type='text/css'>.style1 {	color: #990000;	font-weight: bold; text-decoration:underline; font-size:12px;}td{font-family:Verdana;font-size:10px;}</style></head>")formulario.WriteLine("<strong class='td'>"&session("aNome") & session("ssNome") &" | Formulário de "&session("dNome")&"</strong>")formulario.WriteLine("<table width='520' cellspacing='1' cellpadding='0' border='0' bordercolor='#FFFFFF'><tr><td colspan='4'>")do while not rs.eof	txtBloco = rs("txtBloco")	For Each item In Request.Form		checar = ""		if Server.URLEncode(CStr(item)) <> "" then			checar = "checked"		end if				if InStr(txtBloco,Server.URLEncode(CStr(Request(item)))) <> 0 then			checar = "checked selected"		end if				txtBloco = replace(txtBloco,"name="""&Server.URLEncode(CStr(item))&"""","name="""&Server.URLEncode(CStr(item))&""" value="""&replace(Server.URLEncode(CStr(Request(item))),"+"," ")&""" "&checar&" ")		if checar = "selected" then			txtBloco = replace(txtBloco,"value="""&Server.URLEncode(CStr(Request(item)))&"""","value="""&Server.URLEncode(CStr(Request(item)))&""" "&checar&" ")		end if	Next	formulario.WriteLine(txtBloco&"<br><br>")rs.MoveNextLoopformulario.WriteLine("</td></tr></table>")formulario.WriteLine("Formulário gerado em: "&now()&"<br><br>")formulario.WriteLine("</body></html>")' Fecha o objetoformulario.close
GiselleNo seu código não dá pra ter idéia do valor da variável txtBloco.Me passa alguns exemplos de possíveis valores pra ela... vindos do banco, para que eu possa testar aqui e tentar te ajudar.Abraço!

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.