
sabino
Membros-
Total de itens
43 -
Registro em
-
Última visita
Tudo que sabino postou
-
Atualizar Frame a partir de outro frame.
pergunta respondeu ao Difurlan de sabino em Ajax, JavaScript, XML, DOM
Difurlan, Ao invés de function ref() { window.principal.location.href='principal.php'; } </script> Tenta sem o window... function ref() { principal.location.href='principal.php'; } </script> []'s a todos! -
validando campos...no cliente
pergunta respondeu ao rutger2007 de sabino em Ajax, JavaScript, XML, DOM
Pessoal, Isso parece que funciona como o rutger2007 pretende, comentei as alterações... <html> <head> <title>valida form</title> <script language="JavaScript"> function validateNome(nome) { if (typeof(nome) != "string") return false; else if (!nome.match(/^[A-Za-z]$/)) return false; return true; } function checkNome(obj) { var message = (validateNome(obj.value)) ? " " : " Apenas letras!"; document.getElementById("m_nome").innerHTML = message; // mudando o foco para o objeto obj.focus(); } </script> </head> <body> <!-- Inserido o onsubmit --> <form name="cadastro" method="post" onsubmit="checkNome(document.getElementById('nome'));"> <table > <tr> <td>nome:</td> <!-- Modificado o evento de onchange para onblur --> <td><input type="text" size="40" name="nome" id="nome" onblur="checkNome(this);"><span id="m_nome" style="color: #c00;"></span></td> </tr> <tr> <td colspan="2"> <div align="right"> <input name="enviar" type="submit" value="enviar"> </div> </td> </tr> </table> </form> </body> </html> Espero que ajude! []'s a todos! -
E aí pessoal, Rafael R, tenta fazer essa replace pelo "<br />" ao gravar no banco, ou seja, gravando com o <br /> mesmo no lugar do enter. Nesse caso não precisa fazer nada quando recuperar a mensagem. []'s a todos!
-
E aí pessoal, Aline Kelly, falta uma coisa no código que você postou: associar o recordset à conexão, algo do tipo... Set RsWeb = BdWeb.Execute(Sql) ou criando o ADODB.RecordSet, como você fez... nesse caso ele deve ser aberto, por exemplo: Set RsWeb = Server.CreateObject("ADODB.Recordset") RsWeb.Open Sql, BdWeb Como não foi associado nenhum dado ao recordset, ele não possui nenhum campo e qualquer tentativa de recuperar dados com ele, nessa situação, resultará em erro. Espero que isso ajude! :rolleyes: []'s a todos!
-
E ai pessoal, Foi mal o último post, quando confirmei o código... postou! :-< Mas, quanto ao seu problema Tite, já vi essa coisa sombria acontecer. Para que fique mais fácil identificar possíveis causas, seria bom postar o código em que você insere a data no BD. []'s!
-
Tenta colocar um redirecionamento em JS history.back(); no final para voltar à página anterior como ela ficou.
-
Grande Tite, Na montagem da array, não dá para ser como foi postado... <% Set pegatimes = Server.CreateObject("ADODB.Recordset") pegatimes.Open "SELECT * FROM tabela order by codigo", Conexao Do while not pegatimes.eof mystring = pegatimes("clube")&", " myarray = Split(mystring, ", ") Response.Write myarray(3) pegatimes.movenext loop %> Pelo menos duas coisas devem ser corrigidas: 1)A linha abaixo mystring = pegatimes("clube")&", " Não concatena os valores do campo "clube". Para concatenar o recordset na string, deve ser assim mystring = mystring & pegatimes("clube" & ", " 2)A linha myarray = Split(mystring, ", ") deve estar depois do loop, e devemos retirar o último ", " da variável mystring. Ficaria assim: <% Set pegatimes = Server.CreateObject("ADODB.Recordset") pegatimes.Open "SELECT * FROM tabela order by codigo", Conexao Do while not pegatimes.eof mystring = myarray & pegatimes("clube") & ", " pegatimes.movenext loop myarray = Split(Left(mystring, Len(mystring) - 2), ", ") Response.Write myarray(3) %> Assim armazenará em myarray. Mas existe uma forma mais simples usando o método GetString() do ADODB.RecordSet: Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr) Dá uma olhada nele, acho que vale a pena! Espero que isso ajude! []'s!
-
E aí pessoal! Notax, basta consultar o BD e, percorrento o recordSet, montar as opções do select. É tranquilo e não fica lento Para personalizar, teria que existir um recurso de cadastro ou direto no BD. A montagem do select seria algo assim... ... <select name="cmbTipo" size="1" id="cmbTipo"> <% Do While Not objRecordSet.EOF Response.Write "<option>" & objRecordSet("Nome").Value & "</option>" Loop %> </select> ...
-
Valeu KaKarotto! Só tem uma coisa, como eu coloco um pino no tópico? Desculpe a ignorância, mas não tenho idéia de como se faz isso... []'s!
-
E aí pessoal! Pelo menos uma coisa eu identifiquei como problema... No IE, deve ser tratada a string de retorno, como em resposta.innerHTML = requisicao.responseText; com unescape... resposta.innerHTML = unescape(requisicao.responseText); No FF isso é indiferente... E no lado servidor, o que se escreve deve ter um Escape() (no IE, para o FF não!), tipo... Response.Write Escape(stringRetorno) Tem um post com um código que pode ser útil para exemplificar: http://scriptbrasil.com.br/forum/index.php?showtopic=111804 []'s a todos!
-
Se é sempre assim, tenta isso... arrlink = split("https://www.scriptbrasil.com.br/pasta1/arq.htm","/") //isso deve devolver "pasta1" pasta = arrlink(ubound(arrlink) - 1)
-
Grande Tite, Eu fiz um teste aqui ( só por desencargo) e funcionou. Para nos ajudar a encontrar o que está acontecendo, você poderia postar uma página em que a função não funciona? []'s!
-
E aí pessoal! victormartins, a paginação está certa, mas o contador deve ser incrementado dentro do laço mais interno... do jeito que está ele não verifica o número de registros por página e vai listando, quando sai desse laço e entra no externo, ele já listou.. Funciona na outra página porque deve ser a última e o recordset, como está paginado com o AbsolutePage, inicia na página correta. No trecho de código abaixo: Do while not RS.Eof %> <td align="center" width="25%" style="border-left:#CCCCCC 1px solid; border-bottom:#CCCCCC 1px solid; border-right:#CCCCCC 1px solid"><div style="margin-left:5px; margin-top:5px; margin-bottom:5px; margin-right:5px;"> <a href="ver_jogo.asp?console=<% Response.Write(Request.QueryString("console"))%>&id=<%=rs("id") %>" class="indice"><%=rs("jogo") %> - <%=rs("regiao") %> - <%=rs("formato") %></a><br> <%=rs("idioma") %> - <%=rs("genero") %></div></td> <% n = n + 1 rs.Movenext If n > c then response.write "</tr><tr>" n = 1 End If Loop Adicione o incremento do contador Count e também verifique na condição do Do While ( a verificação que está no laço externo pode ficar, só por segurança né :rolleyes: Do while not RS.Eof And Count < rs.PageSize %> <td align="center" width="25%" style="border-left:#CCCCCC 1px solid; border-bottom:#CCCCCC 1px solid; border-right:#CCCCCC 1px solid"><div style="margin-left:5px; margin-top:5px; margin-bottom:5px; margin-right:5px;"> <a href="ver_jogo.asp?console=<% Response.Write(Request.QueryString("console"))%>&id=<%=rs("id") %>" class="indice"><%=rs("jogo") %> - <%=rs("regiao") %> - <%=rs("formato") %></a><br> <%=rs("idioma") %> - <%=rs("genero") %></div></td> <% n = n + 1 rs.Movenext If n > c then response.write "</tr><tr>" n = 1 End If 'Aumenta um número no Count para que a contagem de página funcione Count = Count + 1 Loop Aqui funcionou certinho! Espero que isso ajude! []'s
-
E aí pessoal! Fiz uns testes aqui, e parece que algumas coisas interessantes aconteceram: parece que o tipo de navegador influi no funcionamento. No código do lado cliente abaixo, comentei as linhas modificadas: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Página teste</title> <script> try{ xmlhttp = new XMLHttpRequest();}catch(ee){try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(E){xmlhttp = false;}}} </script> </head> <body> <div id="resultado"></div> <script> // Passando também o nome do navegador... xmlhttp.open("GET","testeajax.asp?q=ãõáàóçêâ, ta funcionando poww...&Navegador=" + navigator.appName,true); xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=iso-8859-1'); xmlhttp.onreadystatechange=function() { document.getElementById('resultado').innerHTML = 'Aguarde...'; if(xmlhttp.readyState == 4){ // Para funcionar no IE7, deve ser utilizado unescape() - sem ele funciona apenas no FF... document.getElementById('resultado').innerHTML =unescape(xmlhttp.responseText); }} xmlhttp.send(null) </script> </body> </html> Agora o lado servidor... <% Dim strNomeNavegador: strNomeNavegador = Request.QueryString("Navegador").Item Dim strAjax: strAjax = Request.QueryString("q").Item If strNomeNavegador = "Microsoft Internet Explorer" Then Response.Write Escape(strAjax) Else Response.Write strAjax End If %> Isso funcionou tanto no IE7 quanto no FF! Espero que isso ajude! []'s a todos!
-
E aí Mateus! Veja se estou dizendo muita besteira... :rolleyes: Se você gravar (mesmo que seja editando no notepad) os caracteres < > no xml como você deseja, o parser vai entender que eles são nodes do xml. É isso mesmo que você quer? Com a codificação não serve? Para recuperar o html não basta um chamar a função HTMLDecode que você fez? A propósito, não tem Server.HTMLDecode, só Server.HTMLEncode. []'s!
-
Certamente o kuroi tem razão sobre o recordset, e parece que o problema é por aí mesmo. Mas... Notax, não entendi o que você quer dizer exatamente com com relação a este código: if chcRefinar = "ON" then elseif qdrSituacao = 1 then call geral_com_refino() elseif qdrSituacao = 2 then call pagas_com_refino() elseif qdrSituacao = 3 then call nao_pagas_com_refino() end if If chcRefinar = "" then elseif qdrSituacao = 1 then call geral_sem_refino() elseif qdrSituacao = 2 then call pagas_sem_refino() elseif qdrSituacao = 3 then call nao_pagas_sem_refino() end if compreendo que as vezes coisas muito esquisitas podem acontecer, mas provavelmente não deve ser o if. Você já depurou o código para ver quais rotinas estão realmente sendo chamadas? []'s! :rolleyes:
-
Grande claytonprog! O modo mais seguro que eu conheço para fazer isso é com o objeto MSXML2.DOMDocument (ou outro componente DOM): Suponha que queiramos modificar o atributo "path" do segundo elemento "song" do xml postado, que é o arquivo "C:\arqxml.xml", para o valor "mypath". Poderia ser feito assim: <% Dim objXMLHttp : Set objXMLHttp = Server.CreateObject("MSXML2.DOMDocument") ' Verificando se o xml pôde ser aberto If objXMLHttp.load("C:\arqxml.xml") Then 'Alterando o valor do atributo desejado objXMLHttp.childNodes(1).childNodes(1).setAttribute("path") = "mypath" ' Salvando o arquivo objXMLHttp.save "C:\arqxml.xml" End If ' Destruindo a instância do objeto Set objXMLHttp = Nothing %> Também pode ser feito via FileSystemObject (escrevendo direto no arquivo sem usar o componente DOM), mas é arriscado porque pode dar problema de encoding. É isso aí! Espero que te ajude! :rolleyes:
-
Caro pessoal do forum ScriptBrasil, Estou construindo um site e gostaria de gravar um cookie na máquina do usuário para que o nome dele aparecesse na próxima visita. Para gravar o cookie utilizei o seguinte código: response.cookies("sitesilvio")("usuario")=fields(1)(2) response.cookies("sitesilvio").expires=dateadd("m",12,date) response.cookies("sitesilvio").secure=true E para recuperá-lo: request.cookies("sitesilvio")("usuario") O cookie é gravado como deveria (eu conferi e abri no notepad) mas o valor sempre retorna "". Se alguém puder me ajudar, agradeço desde já!