Ir para conteúdo
Fórum Script Brasil
  • 0

Como Posso Resolver Esse Problema?


Carlos Rocha

Pergunta

Ola pessoal, to cum seguinte problema, quando o código chega na linha

if action2 = "gravarvalores" then

acionada pela instrução javascript document.location.href da linha anterior, na hora de fazer o insert into faq, ele não

recebe os campos vindos do formulario.

Como posso resolver esse problema?

<%

' ############################# Inclusão ###########################

If Request.QueryString("action") = "gravarinclusao" then

' campos vindos do formulario

DfId_f = request.Form("FormId")

DfModulo_f = request.Form("FormModulo")

DfPergunta_f = request.Form("FormPergunta")

DfMemo_f = request.Form("FormTexto")

strSQl = "select * from tbFaq where DfPergunta= '"&DfPergunta_f&"'"

Set Rs_FaqPerguntasVerifica = Conn.EXECUTE(strSQl)

if not Rs_FaqPerguntasVerifica.eof then

if Rs_FaqPerguntasVerifica("DfModulo") = DfModulo_f then

response.write "<script>alert('Já existe esta pergunta cadastrda, por favor altere-a!'); document.location='faq.asp?action=editar'</script>"

else

response.write "<script>if (confirm('Já existe esta pergunta cadastrda em outro módulo. Prosegue?')){document.location.href='faq.asp?action=gravarinclusao&action2=incluivalores'} else {document.location.href='faq.asp?action=incluir'}</script>"

if action2 = "gravarvalores" then

strSQlInsert = "INSERT INTO tbFaq(DfModulo, DfPergunta, DfMemo, DfAutor) values('"&DfModulo_f&"' , '"&Replace(DfPergunta_f,"'","''")&"', '"&Replace(DfMemo_f,"'","''")&"' , '"&trim(Nome_usu)&"')"

Set Rs_FaqInsert = Conn.EXECUTE(strSQlInsert)

if Err.Number = 0 then

response.write "<script>alert('Inclusão efetuada com sucesso!'); document.location='faq.asp?action=incluir'</script>"

else

response.write "<script>alert('Erro. Tente de Novo!'); document.location='faq.asp?action=incluir'</script>"

end if

end if

end if

else

strSQlInsert = "INSERT INTO tbFaq(DfModulo, DfPergunta, DfMemo, DfAutor) values('"&DfModulo_f&"' , '"&Replace(DfPergunta_f,"'","''")&"', '"&Replace(DfMemo_f,"'","''")&"' , '"&trim(Nome_usu)&"')"

Set Rs_FaqInsert = Conn.EXECUTE(strSQlInsert)

if Err.Number = 0 then

response.write "<script>alert('Inclusão efetuada com suscesso!'); document.location='faq.asp?action=incluir'</script>"

else

response.write "<script>alert('Erro. Tente de Novo!'); document.location='faq.asp?action=incluir'</script>"

end if

end if

end if

' ############################# Fim da Inclusão ###########################

%>

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olha, eu num sei se eu entendi direito, mas espero que seja isso que esta acontecendo...

Vamos lá:

1º - O navegador preencheu um formulario (POST) e enviou uma solicitação ao servidor...

Ai você recuperou esses dados via request.form e devido a alguma questão redirecionou para a mesma pagina mas alterando uma variavel certo?

Bom se for isso, você tem que tomar 1 das suas atitudes...

Ou ao invéz de usar o location.href você monta um formulario com campos ocultos de mesmo nome aos do campo que o navegador preencheu e submete o formulario por javascript

ou

você insere os campos preenchidos pelo navegador na url que você esta redirecionando tipo "pag.asp?nome=xxxxxx&telefone=555-5555&etc=..." também com mesmo nome dos campos. Ai ao invéz de usar Request.Form(campo), ou Request.QueryString(campo) use apenas Request(campo)

Vamos a explicação:

Pelo que eu entendi, quando você esta utilizando location.href você esta perdendo os os dados preenchidos pelo navegador pois não esta passando eles novamente...

Isso você pode testar inserindo

   response.write variavel
   response.end

abaixo do Request.Form() que você quer testar...

Espero ter sido util, peço desculpas se eu entendi errado a sua questão...

Link para o comentário
Compartilhar em outros sites

  • 0

Nos testes que fiz, puz uma variavel asp DfModulo_f num codigo javascript Confirm, e percebi que ate ali a variavel vai bem, só que eu preciso dela é na segunda parte do javascript como segue o código:


response.write "<script>if (confirm('Já existe esta pergunta cadastrada em outro módulo. Prosegue "&DfModulo_f&"?')){document.location.href='faq.asp?action=gravarinclusao&action2=gravarvalores&DfModulo_f="&DfModulo_f&"&DfPergunta_f="&DfPergunta_f&"&DfMemo_f="&DfMemo_f&"'} else {document.location.href='faq.asp?action=incluir'}</script>"

E agora, como fazer a variavel asp chegar na 2ª parte do JavaScript

Link para o comentário
Compartilhar em outros sites

  • 0

Cara descobri onde esta o erro,

Preciso fazer o codigo abaixo:

response.write "<script>if (confirm('Já existe esta pergunta cadastrada em outro módulo. Prosegue?')){</script>"
    
strSQlInsert = "INSERT INTO tbFaq(DfModulo, DfPergunta, DfMemo, DfAutor) values('"&DfModulo_f&"' , '"&Replace(DfPergunta_f,"'","''")&"', '"&Replace(DfMemo_f,"'","''")&"' , '"&trim(Nome_usu)&"')"
Set Rs_FaqInsert = Conn.EXECUTE(strSQlInsert)  
if Err.Number = 0 then
   response.write "<script>alert('Inclusão efetuada com sucessoooo!'); document.location='faq.asp?action=incluir'</script>"
else
   response.write "<script>alert('Erro. Tente de Novo!'); document.location='faq.asp?action=incluir'</script>"
end if	
    
response.write "<script>} else {document.location.href='faq.asp?action=incluir'}</script>"

Funcionar da seguinte forma:
response.write "<script>if (confirm('Já existe esta pergunta cadastrada em outro módulo. Prosegue?')){INSTRUÇÃO .ASP, VEJA ELA NO CODIGO ACIMA} else {document.location.href='faq.asp?action=incluir'}</script>"
Ou seja, tertei que por um código asp dentro de um JavaScript. Tentei do geito que esta mas ele não executa o Confirm() por que o codigo JavaScript num ta todo, tem como contornar essa situação? Ou se for o caso, na instrução JavaScript abaixo:
response.write "<script>if (confirm('Já existe esta pergunta cadastrada em outro módulo. Prosegue?')){document.location.href='faq.asp?action2=gravarvalores&DfModulo_f="&DfModulo_f&"DfPergunta_f="&DfPergunta_f&"DfMemo_f="&DfMemo_f&"'} else {document.location.href='faq.asp?action=incluir'}</script>"
a forma que estou enviando parametros com variaveis asp ta certo?
document.location.href='faq.asp?action2=gravarvalores&DfModulo_f="&DfModulo_f&"...
Porque quando chega no faq.asp?action2=gravarvalores, ele diz que os dados de entrada não chegam, e agora? Olha a forma como to recuperando:
<%
if Request.QueryString("action2") = "gravarvalores"  then  	
   strSQlInsert = "INSERT INTO tbFaq(DfModulo, DfPergunta, DfMemo, DfAutor) values('"&Request.QueryString(DfModulo_f)&"' , '"&Request.QueryString(Replace(DfPergunta_f,"'","''"))&"', '"&Request.QueryString(Replace(DfMemo_f,"'","''"))&"' , '"&trim(Nome_usu)&"')"
   Set Rs_FaqInsert = Conn.EXECUTE(strSQlInsert)  
   if Err.Number = 0 then
      response.write "<script>alert('Inclusão efetuada com sucesso!'); document.location='faq.asp?action=incluir'</script>"
   else
      response.write "<script>alert('Erro. Tente de Novo!'); document.location='faq.asp?action=incluir'</script>"
   end if	
end if
%>

Ta certo Isso?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...