Ir para conteúdo
Fórum Script Brasil

sabino

Membros
  • Total de itens

    43
  • Registro em

  • Última visita

Posts postados por sabino

  1. Bom dia!

    Acho que podemos ajudar nisso, mas antes de qualquer coisa tenho algumas dúvidas...

    1) A combo é populada com valores existentes... aí o usuário digita o filtro em um campo texto ou seleciona a(as) as classes desejadas?

    2) Não entendi o problema do registro que ainda não foi salvo: os classes existentes não foram exibidas na primeira combo? Ou seja, não são registros pré-existentes no banco?

  2. Bom dia pessoal!

    Leili, uma opção é colocar o primeiro option do select com um texto do estilo "Selecione a cidade" e verificar se o selectedIndex do select igual a zero, por exemplo....

    <script>
    
    ...
    //inserir essa validação junto com as outras...
    
    if (document.getElementById('cboCidade').selectedIndex == 0)
    {
        alert('Por favor, selecione a cidade.');
        return false;
    }
    ...
    
    </script>
    
    ...
    
    <select id='cboCidade' name='cboCidade>
        <option value='0'>Selecione a cidade</option>
        ....
    </select>
    ...

    Espero que isso ajude!

    []' a todos!

  3. Bom dia pessoal!

    Pelo que entendi, o Leonardo deseja que, ao clicar em um radio button o sistema seja direcionado para a pagina X e ao clicar em outro seja direcionado para Y.. se for isso mesmo, é possível colocar uma função no onclick do radio que redireciona para a página desejada ou definir uma variável que seja alterada no onclick para que a página seja redirecionada em um onsubmit (por exemplo). Seria alguma coisa assim...

    Opção 1)

    &lt;script>
      function defineDestino(strURL, lngCodCliente)
      {
          window.location.href = strURL + "?CodCliente=" + lngCodCliente;
      }
    </script>
    
    <input type="radio" value="<%=rstSearch("cod_estabel")%>" ... onclick="defineDestino('Detalhes.asp', this.value);">
    <input type="radio" value="<%=rstSearch("cod_estabel")%>" ... onclick="defineDestino('Produtos.asp', this.value);">
    Opção 2) Opção 1)
    &lt;script>
      var strDestino = "";
      var lngCodCliente = 0;
      function defineDestino(strURL, lngCodigo)
      {
          strDestino = strURL;
          lngCodCliente = lngCodigo;
          return true;
      }
    
      function redireciona(objForm)
      {
        objForm.action = strDestino + "?CodCliente=" + lngCodCliente;
        return true;
      }
    </script>
    
    <form ... onsubmit="return redireciona(this);">
    <input type="radio" value="<%=rstSearch("cod_estabel")%>"  ... onclick="return defineDestino('Detalhes.asp', this.value);">
    <input type="radio" value="<%=rstSearch("cod_estabel")%>"  ... onclick="return defineDestino('Produtos.asp', this.value);">

    Espero que isso ajude!

    []' a todos!

  4. E aí pessoal?

    Notax, pelo que você descreveu, os valores estão vindo com vírgula para separar as casas decimais, e deveriam vir com ponto: 4.56 ao invés de 4,56. Se for isso mesmo, o replace deveria funcionar, só não entendi porque colocar Len(...):

    len(replace(valor(i),",","."))
    Parece que o correto seria simplesmente:
    replace(valor(i),",",".")

    Espero que ajude!

    []'s a todos!

  5. Pessoal, apenas para esclarecer...

    A parametrização é um meio seguro que IMPEDE tentativas de adulteração da query, exemplo...

    Na consulta simples abaixo que pode ser usada para verificar a existência de um login de usuário...

    strSQL = " SELECT CodUsuario FROM Usuarios WHERE Login = '" & strLogin & "'"
    Pode ser inserido o SQL Injection através de valores maliciosos, mas inserindo parâmetros isso não será tão fácil. Seria algo parecido com o trecho abaixo...
    ...
    strSQL = " SELECT CodUsuario FROM Usuarios WHERE Login = @Login "
    Call objCommand.Parameters.Append("@Login", 200, 1, Len(strLogin), strLogin)
    ...

    Nesse caso, não importa o que seja passado em "strLogin", porque o valor não vai alterar o corpo da query.

    Quando à substituição de aspa simples, é um bom método e impede também os ataques que eu já vi ou ouvi falar, mas limita a inserção de dados com aspa simples no banco. Ao invés de eliminar a aspa simples, a sugestão é o mesmo replace mas trocando aspa simples por duas aspas simples. Também funciona e o caractere será inserido normalmente.

    Outra vantagem do uso de parâmetros é que não é necessário padronizar o site inteiro, apenas vamos nos preocupar em criar os parâmetros da query na camada de acesso a dados, o tratamento fica centralizado, não importando o tamanho do site. Isso é particularmente útil quando estamos trabalhando em equipe.

    []'s a todos!

  6. Beleza, parou de dar erro. Os problemas agora são:

    1) O arquivo deleting.asp está pegando request.querystring e por isso pega apenas o código que foi passado na URL no action do form (deleting.asp?id=...).

    O correto é utilizar, nesse caso, request.form para pegar os valores postados no form e não na querystring;

    2) No arquivo deleting.asp, a instrução SQL ainda está com LINK_ID = ... o correto é LINK_ID IN (...) para deletar mais de um.

    Espero que ajude!

  7. O trecho de código que tem onsubmit é esse:

    <form id="frmDeletar" name="frmDeletar" action="deletar.asp" onsubmit="critica(this)" method="post">

    Ao invés de onsubmit="critica(this)" o certo é onsubmit="return critica(this)"

    Esta postando vazio, por isso esta dando o erro. Se o request vier vazio, vai ficar

    LINK_ID =

    na query sem valor nenhum, ai da erro mesmo.

  8. py2tz,

    Repare no código que eu postei que existe um função associada ao evento onsubmit do form, justamente para dificultar a postagem se não tiver nenhum item selecionado, isso é importante para prevenir o erro na instrução sql.

    Deve ser isso que está causando o problema>: não está validando se em pelo menos um item selecionado.

    Outre coisa: a associação do evento onsubmit deve ser onsubmit="return ...". Esqueci o return, mas aqui no Firefox funcionou mesmo assim quando testei antes de postar.

    []'s!

  9. <%
    
    Dim strAlert
    Dim strLinks : strLinks = Request.Form("chkLink")
    
    If Len(strLinks) > 0 Then
        strAlert = "alert('Itens selecionados: " & strLinks & "');" 
    End If
    %>
    <html>
        <head>
            &lt;script language="javascript" type="text/javascript">
                <%=strAlert%>
                
                function critica(obj)
                {
                    for (var i = 0; i < obj.chkLink.length; i ++)
                    {
                        if (obj.chkLink[i].checked)
                        {
                            return true;
                        }
                    }
                    alert("Selecione pelo menos um item para exclusão");
                    return false;
                }
                
                function selecionarTodos(check)
                {
                    var objChk = document.getElementsByName("chkLink")
                    for (var i = 0; i < objChk.length; i ++)
                    {
                        objChk[i].checked = check;
                    }
                }
                
                function deletarLink(id)
                {
                    selecionarTodos(false);
                    document.getElementById("chk" + id).checked = true;
                    document.frmDeletar.submit();
                }
            </script>
        </head>
        <body>
            <form id="frmDeletar" name="frmDeletar" action="deletar.asp" onsubmit="critica(this)" method="post">
                <table>
                    <tr>
                        <td>
                            <input type="checkbox" id="chkSelecionarTodos" onclick="selecionarTodos(this.checked)"/>
                        </td>
                        <td>
                            Selecione os liks para exclusão
                        </td>
                    </tr>
                    <%
                    Dim i : For i = 0 To 9
                    %>
                    <tr>
                        <td>
                            <input type="checkbox" value="<%=i%>" id="chk<%=i%>" name="chkLink"/>
                        </td>
                        <td>
                            <a href="java script:deletarLink(<%=i%>); void(0);">Link<%=i%></a>
                        </td>
                    </tr>
                    <%
                    Next
                    %>
                    <tr>
                        <td colspan="2" align="right">
                            <input type="submit" value="Excluir" />
                        </td>
                    </tr>
                </table>
            </form>
        </body>
    </html>

  10. py2tz,

    O recurso que você implementou pode ficar basicamente o mesmo. Se eu entendi o que deseja, seria assim:

    1) Mudar a instrução DELETE utilizando IN, por exemplo :

    DELETE FROM LINKS WHERE LINK_ID IN (" + Replace(spDeleteLinks__id, "'", "''") + ")"

    Isso permitirá que a instrução apague mais de um registro na tabela.

    2) Na caixa que selecionará todas as outras, basta implementar uma função que altere o atributo "checked" das demais para "true" (marcando) ou "false" (demarcando) que será chamada no evento onclick da caixa. Dessa forma, quando postar vão todos os códigos que foram selecionados para formar a instrução SQL.

    Qualquer dúvida, é só postar! Espero que te ajude

    []'s

  11. Tem jeito sim, por exemplo

    Dim strFieldName
    For each strFieldName in Request.QueryString
        Response.Write strFieldName & " = " & Request.QueryString(strFieldName).item & "<br />"
    Next

    Espero que ajude!

    []'s!

  12. Para fazer isso, pode ser feito assim:

    <html>
        <head>
        </head>
        <body>
            <iframe src="<%=Request.QueryString("url")%>" frameborder="0" marginheight="0" marginwidth="0"></iframe>
        </body>
    </html>

    Para mais de um parâmetro, podem ser utilizados varios iframes, um para cada endereço.

    Espero que isso ajude!

    []'s a todos!

  13. Tite,

    Colocando o código do update dessa forma ele executará de qualquer jeito mesmo, mas o response.write so aparece quando o div é exibido. Isso é o normal, porque o fato do div estar com display none NÃO impede que o código ASP seja executado, porque ele é executado, nesse caso, ANTES da página ser enviada.

    Para fazer o update APENAS quando o div é fechado, você deve usar AJAX ou então abrir um popup quando fechar o div executando o update dentro do popup.

    Espero que isso ajude!

    []'s a todos!

  14. Pessoal, é do jeito que a andreia_sp postou, mas não tão compactado com o smez quer...

    <%
    function listar()
    
        Set busca = createobject("adodb.recordset")
        Set busca.activeconnection = abredb
    
        SQL = "SELECT DISTINCT Nome FROM Foto"
        busca.open sql
    
        while not busca.eof
            listar = listar & "'" & busca("nome") & "'," 
            busca.movenext
        wend
    
        if len(listar) > 0 then
            listar = mid(listar, 1, len(listar) - 1)
        end if
    
    end function
    
    %>
    &lt;script>
    var customarray=new Array(<%=listar()%>);
    </script>

    Parece que assim resolve.

    []'s a todos!

  15. stolipuppy, veja se é mais ou menos isso que você quer fazer...

    Considere que as chamadas são armazenadas com um código, data e outras informações (usuário, duração, etc etc)

    CodChamada Data

    1 02/03/2008 10:00

    2 02/02/2008 13:45

    .

    .

    .

    Se você quer saber quantas chamadas foram realizadas agrupadas por data, parece que seria algo assim...

    1) Criar uma view (chamaremos de vwChamada) com a query parecida com...

    SELECT CodChamada ,
         RIGHT('0' + CONVERT(VARCHAR(4), DATEPART(DAY, Data)), 2) + '/' + 
         RIGHT('0' + CONVERT(VARCHAR(4), DATEPART(MONTH, Data)) , 2) + '/' + 
         CONVERT(VARCHAR(4), DATEPART(YEAR, Data)) AS DataSemHora
    FROM Chamada
    2) Agora, podemos consultar a view com
    SELECT COUNT(*) AS NumeroChamadas, DataSemHora FROM vwChamada GROUP BY DataSemHora

    Isso deve funcionar!

    Espero que ajude!

    []'s!

  16. E aí pessoal!

    O webdeveloper tem razão. O melhor é, ao invés de...

    lstEnsinoMedio = lstEnsinoMedio & " <option value='" & oRs("COD_INSTITUICAO_ENSINO_MEDIO") & "' value2='" & oRs("SGL_UF") & "' value3='" & oRs("NOM_INSTITUICAO_ENSINO_MEDIO") & "' " & seleciona & ">" & oRs("NOM_INSTITUICAO_ENSINO_MEDIO") & " - " & oRs("SGL_UF") & "</option>"
    usar...
    Response.Write " <option value='" & oRs("COD_INSTITUICAO_ENSINO_MEDIO") & "' value2='" & oRs("SGL_UF") & "' value3='" & oRs("NOM_INSTITUICAO_ENSINO_MEDIO") & "' " & seleciona & ">" & oRs("NOM_INSTITUICAO_ENSINO_MEDIO") & " - " & oRs("SGL_UF") & "</option>"

    Mas isso pode não ser suficiente.

    Com não terá paginação, é necessário descarregar o buffer com o método Response.Flush a cada, por exemplo, 100 registros. Isso evitará o estouro do buffer.

    Espero ter ajudado!

    []'s a todos!

  17. Fala pessoal,

    Guilherme, para fazer com que a TR funcione como um link, basta usar o onclick, por exemplo:

    ...
    <script language='javascript' type='text/javascript>
       function minhaFuncao()
       {
            window.location.href='minhaURL.html';
       }
    </script>
    ...
    <tr onclick='minhaFuncao();'>...</tr>
    Se quisermos fazer alguma coisa quando o mouse está sobre a TR, então utilizamos o evento onmouseover em conjunto com o onmouseout (para voltar ao estado original)...
    ...
    <script language='javascript' type='text/javascript>
    
       function minhaFuncaoOnMouseOver(objTR)
       {
            objTR.style.color='#DDDDDD';
       }
    
       function minhaFuncaoOnMouseOut(objTR)
       {
            objTR.style.color='#FFFFFF';
       }
    
       function minhaFuncaoOnClick()
       {
            window.location.href='minhaURL.html';
       }
    </script>
    ...
    <tr onClick='return minhaFuncaoOnClick();' onMouseOver='return minhaFuncaoOnMouseOver(this);' onMouseOut='return minhaFuncaoOnMouseOut(this);'>...</tr>
    Agora um exemplo concreto...
    <html>
        <head>
            <script language='javascript' type='text/javascript'>
    
               function minhaFuncaoOnMouseOver(objTR)
               {
                  objTR.style.background='#DDDDDD';
               }
    
               function minhaFuncaoOnMouseOut(objTR)
               {
                  objTR.style.background='#FFFFFF';
               }
    
               function minhaFuncaoOnClick()
               {
                  window.location.href='minhaURL.html';
               }
               
            </script>    
        </head>
        <body>
            <table border='1' cellspacing='0' width='100%'>
                <tr onClick='return minhaFuncaoOnClick();' 
                    onMouseOver='return minhaFuncaoOnMouseOver(this);' 
                    onMouseOut='return minhaFuncaoOnMouseOut(this);'
                >
                    <td>
                        conteúdo da tr...
                    </td>
                </tr>
            </table>
        
        </body>
    </html>

    Espero que isso ajude!

    []'s a todos!

×
×
  • Criar Novo...