none
Botão/Link dentro do response.write RRS feed

  • Pergunta

  • Boa Dia Pessoal;

     

    Estou com uma dúvida simples.

    Tem como colocar um botão ou um link de voltar dentro do response.write?

     

    O que eu preciso é o seguinte:

    tenho uma página com um formulário e um pedaço de código que verifica se todos os campos foram preenchidos. Se não foram ele deve retornar pra página anterior para q o usuário responda o que falta.
    E essa pergunta tem que estar dentro de um response.write pois o redirect não funciona. Pq está dentro de um Loop.

     

    Segue a página para que possam entender melhor:

     

    <%  Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open Session("ConnectionString") %>
     <% disciplina = request.Form("disciplina")%>
    <html>
    <head>
    <title>:: Enquete - CRV ::</title>
    <style type="text/css">
    <!--
    @import url("CSS/estilo.css");
    .style5 {font-family: Geneva, Arial, Helvetica, sans-serif}
    -->
    </style>
    </head>
    <body>
    <form name="form1" method="post" action="cbc.asp">
      <h4 align="center">
    <%
        cont = cint(request.Form("cont"))
        cont_2 = 0
        Do While (cont_2 < cont)
            cont_2 = cont_2 + 1
            id_habilidade = request.Form("id_habilidade_"&cont_2)
              ano6 = request.Form("ano6_"&cont_2)
            If request.Form("ano6_"&cont_2) <> "1" then
                ano6 = 0
            End If
            ano7 = request.Form("ano7_"&cont_2)
            If request.Form("ano7_"&cont_2) <> "1" then
                ano7 = 0
            End If
            ano8 = request.Form("ano8_"&cont_2)
            If request.Form("ano8_"&cont_2) <> "1" then
                ano8 = 0
            End If
            ano9 = request.Form("ano9_"&cont_2)
            If request.Form("ano9_"&cont_2) <> "1" then
                ano9 = 0
            End If

             If ano6 <> "1" And ano7 <> "1" And ano8 <> "1" And ano9 <> "1" Then
                Response.Write("É necessário responder pelo menos uma opção em cada pergunta! <br> Volte e responda as questões restantes!")
                Response.Write("<a href="../CBC/cbc_topico.asp">Voltar</a>")
                Response.End()
                   
            Else
           
            Set cbc_salvar = Conn.Execute("S_INSERE_ENQUETE_CBC_1 @id_habilidade="&id_habilidade&", @ano6="&ano6&", @ano7="&ano7&", @ano8="&ano8&", @ano9="&ano9)
           
            End If
        Loop
    %>
        </h4>
      <h4 align="center">&nbsp;</h4>
      <h4 align="center">&nbsp;</h4>
      <h4 align="center"><span class="style5">Sua resposta foi salva com sucesso! Obrigado por participar.</span> </h4>
      <p align="center">&nbsp;</p>
      <p align="center">

        <input type="submit" name="voltar" id="voltar" value="Voltar">
        </label>
      </p>
    </form>
    </body>
    </html>


    ---------------------------------------------------------------------------------------------------

    A parte em negrito é meu link dentro do response.write.

    Alguém poderia me ajudar?

    Dá um erro:

     

    COM Erro Número -2146827282 (0x800A03EE)
    Código de Erro Response.Write(""Voltar "")
    Nome do Arquivo /crv/cbcnovo/cbc_salvar.asp
    Linha Número 42
    Descrição

    ')' esperado

    segunda-feira, 10 de maio de 2010 13:10

Respostas

  • Paloma,

     

    O problema é que você está colocando aspas duplas dentro de outras aspas duplas. Pra facilitar use aspas simples no html, ficando assim:

    Response.Write("<a href='../CBC/cbc_topico.asp'>Voltar</a>") 

     

    Alexandre

    • Marcado como Resposta Paloma.ST terça-feira, 11 de maio de 2010 12:33
    segunda-feira, 10 de maio de 2010 15:44
  • Paloma,

    Como o Alexandre comentou você está colocando aspas duplas fazendo com que o ASP etenda que você finalizou a string, e como você continua com um texto e não faz a concatenação de String com o "e" comercial (&), da este erro, pode fazer como o Alexandre comentou com aspas simples ou se quiser usar aspas duplas, por exemplo se for validar o código pelo w3c, use assim:

     

    Aspas Simples:
    Response.Write("<a href='../CBC/cbc_topico.asp'>Voltar</a>")

    Aspas Duplas:
    Response.Write("<a href=""../CBC/cbc_topico.asp"">Voltar</a>")

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    • Marcado como Resposta Paloma.ST terça-feira, 11 de maio de 2010 12:34
    segunda-feira, 10 de maio de 2010 16:29

Todas as Respostas

  • Paloma,

     

    O problema é que você está colocando aspas duplas dentro de outras aspas duplas. Pra facilitar use aspas simples no html, ficando assim:

    Response.Write("<a href='../CBC/cbc_topico.asp'>Voltar</a>") 

     

    Alexandre

    • Marcado como Resposta Paloma.ST terça-feira, 11 de maio de 2010 12:33
    segunda-feira, 10 de maio de 2010 15:44
  • Paloma,

    Como o Alexandre comentou você está colocando aspas duplas fazendo com que o ASP etenda que você finalizou a string, e como você continua com um texto e não faz a concatenação de String com o "e" comercial (&), da este erro, pode fazer como o Alexandre comentou com aspas simples ou se quiser usar aspas duplas, por exemplo se for validar o código pelo w3c, use assim:

     

    Aspas Simples:
    Response.Write("<a href='../CBC/cbc_topico.asp'>Voltar</a>")

    Aspas Duplas:
    Response.Write("<a href=""../CBC/cbc_topico.asp"">Voltar</a>")

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    • Marcado como Resposta Paloma.ST terça-feira, 11 de maio de 2010 12:34
    segunda-feira, 10 de maio de 2010 16:29
  • Isso mesmo!

     

     

    Obrigada deu certinho.

     

    Abç

    terça-feira, 11 de maio de 2010 12:33
  • Obrigada Estevam,

     

    Consegui certinho.

     

    Abç

    terça-feira, 11 de maio de 2010 12:34