1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

HTML / ASP / VBScript - Help!

Discussão em 'Programação' iniciada por U_Q, 28 de Junho de 2006. (Respostas: 14; Visualizações: 1063)

  1. U_Q

    U_Q Power Member

    Boas,

    Tendo uma var

    URLSTR = "t2.asp?a=" & num

    pretendia fazer

    <form method="post" action=URLSTR> mas ja vi que isto nao da! :(

    Existe alguma maneira de fazer o que pretendo, i.e., ir para outra pagina em que os valores de "a" sao sempre diferentes? Com response.redirect(URLSTR) funciona mas eu não queria que se visse a info que estava a ser enviada (daí o uso de POST).

    Gracias pela ajuda!
     
  2. bergonzzi

    bergonzzi Power Member

    Olá,

    Estás a esquecer-te dos tags ASP ali no meio, como tás a fazer ele assume que o URLSTR ali na action é HTML. Tens que fazer o seguinte:

    PHP:
    <form method="post" action="<%= URLSTR %>">
    O <%= %> (com o "=") é equivalente ao Response.Write.


    cheers
     
  3. U_Q

    U_Q Power Member

    Elementary my dear Watson.... :-D

    muchas gracias pela ajuda!
     
  4. U_Q

    U_Q Power Member

    Boas,

    Ja testei e era isso mesmo o que estava à procura mas....

    ao fazer

    <form method="post" action="<% URLSTR %>">

    e se tivermos (por ex.)

    URLSTR="t1.asp?a=3"



    o browser abre a pagina t1.asp só que no URL aparece t1.asp?a=3.

    Como evitar isto?
    Eis o código das duas páginas nas quais estou a realizar uns testes.

    t1.asp
    <html><body>
    <% a=request.form("a") %>
    <form method="post" action="t2.asp">
    <input type="text" name=b>
    <br>
    <input type="submit" value="+1" name=bt>
    <br>
    A= <%=a%>
    </form>
    </body></html>

    t2.asp
    <html><body>
    <%
    dim ax
    ax=request.form("b")

    if ax="" then
    ax=0
    end if
    if ax<3 then
    ax=ax+1
    else
    ax=3
    end if


    URLST="t1.asp?a=" & ax
    %>

    <form method="post" action="<%=URLST%>">
    <input type="submit" name=gh>
    </form>
    </body></html>

    Gracias! :)
     
  5. bergonzzi

    bergonzzi Power Member

    Entao se tens uma variavel que é URLSTR="t1.asp?a=3" nao podes evitar muito..!
    A única hipotese é fazer como ja disseste antes..
    URLSTR="t1.asp?a=" & numero
    Neste caso, o "numero" pode vir da querystring, dum formulário, de onde quiseres.


    Agora quanto às páginas que tas a utilizar há aí uma coisa que nao está a funcionar:

    Logo no início da página t1.asp tens isto
    <% a=request.form("a") %> no entanto na página t2.asp estás a enviar a variável "a" através da querystring e não dum formulário. Portanto para ir buscar essa variável tens que fazer <% a=request.querystring("a") %> e não "request.form".

    ve lá se é isso!
     
  6. U_Q

    U_Q Power Member



    Aqui estava só a dar um exemplo...o que eu queria dizer era que não aparecesse no URL
    ?a=num

    ah! ok já entendi :cool: ...se no URL tiver ?a=3 só posso ir buscar esse valor através de request.querystring!

    isto quer dizer que, mesmo tendo
    <form method="POST" action="<% =URLST %>">
    so atraves do querystring poderei ir buscar o valor de a?

    não existe maneira de contornar isso? para no URL não aparecer o valor de a, por isso é que estava a (tentar) usar o method="POST"....

    Muchas muchas gracias pela ajuda dada!

    P.S.
    O que eu procurava era passar valores da t2 para a t1. Depois de pesquisar um pouco pensei utilizar Server.Transfer mas não dá e então estava a tentar de outra forma. Para programar estou a utilizar o Visual InterDev 6.0
     
    Última edição: 28 de Junho de 2006
  7. bergonzzi

    bergonzzi Power Member

    Ahhh, acho que já percebi o que queres..!

    O que tu precisas é de um hidden field :) ou seja, um campo que guarda um valor mas que nao aparece na página.

    Na tua t2.asp tens que fazer o seguinte:

    Código:
    <html><body>
    <%
    dim ax
    ax=request.form("b")
    
    if ax="" then
      ax=0
    end if
    if ax<3 then
            ax=ax+1
    else
       ax=3
    end if
    [COLOR=Red]
    URLST="t1.asp"[/COLOR] 
    %>
    
    <form method="post" action="<%= URLST %>">
    [COLOR=Red]<input type="hidden" value="<%= ax %>" name="a">[/COLOR]
    <input type="submit" name=gh>
    </form>
    </body></html>
    
    As partes a vermelho foram alteradas. Repara que o action do form, neste caso, pode ter apenas o nome do ficheiro e ninguém vê nada na querystring porque tas a utilizar o post!
     
  8. SoundSurfer

    SoundSurfer Power Member

    Se puseres o metodo "GET" em vez de "POST" e colocares um hidden (ou qualquer outro) field com o nome de "a" e o valor que pretendas, ele constrói a query string (?a=xxx) sozinho. Acho eu.
     
  9. U_Q

    U_Q Power Member

    Um hidden field....tenho que exprimentar isso. Agora já não dá! Amanhã tentarei essa solução! :)
     
  10. U_Q

    U_Q Power Member

    :001: É isto mesmo!

    Só que agora surgiu uma outra questão ....existe maneira de passar o valor de ax para a t1.asp sem ser como está, i.e., sem ser necessário o submit?

    Muito Obrigado! :)
     
  11. U_Q

    U_Q Power Member

    Eureka!!! :D Faço o seguinte...

    t2.asp
    Session("a")=3
    response.redirect("t1.asp")

    t1.asp
    A variavele de t2.asp = <% =session("a")%>

    :D
    Muchas gracias pela ajuda (+ uma vez que nunca é demais!)
     
  12. bergonzzi

    bergonzzi Power Member

    yup, isso mesmo, ou sessions ou cookies.
     
  13. U_Q

    U_Q Power Member

    Pois também tinha-me lembrado disso mas e se o browser nao estiver a aceitar cookies?

    Existe alguma forma de verificar se isso acontece?

    Recordset's estão fora de questão para passar de uma ASP para outra ou ainda há esperança?
     
    Última edição: 29 de Junho de 2006
  14. bergonzzi

    bergonzzi Power Member

  15. U_Q

    U_Q Power Member

    OK. Espero que com esta cor já se consiga ver melhor! :)

    Obrigado pela dica do site! Vou explorar, programar e testar e, se mais dúvidas surgirem, já sei onde me dirigir!


     

Partilhar esta Página