
Danilo Moraes
Membros-
Total de itens
171 -
Registro em
-
Última visita
Tudo que Danilo Moraes postou
-
(Resolvido) existe comando parecido com Sleep do PHP no java script
pergunta respondeu ao Dioniton de Danilo Moraes em Ajax, JavaScript, XML, DOM
O que ela fazia eu já sabia, o meu questionamento foi com relacao a diferenca (falando a nivel de interpretador) entre usar um setTimeOut por exemplo e um sleep... Levando em consideracao que javascript não implementa threads, a unica vantagem de utilizar setTimeOut é que ela não trava o navegador... Mas é meio problematica, infelizmente :S Por mim pode fecha o tópico ^^ -
Tentei responder 3 vezes esse tópico e as tres deram erro sendo o ultimo, um erro de decodificacao do texto... Erro causado pelo server mesmo :S Bom, eu disse que estava com preguica de testar o script no primeiro post, mas ai me deu vontade de tentar fazer e acabei fazendo ele pra você ^^ Bom, como não tenho imagens aki e nem quero ir atras delas, eu usei cores... então no array imagens, troque todas aquelas cores por enderecos de imagem... E na hora de atribuir a cor para a tabela, em vez de usar a propriedade backgroundColor, use backgroundImage...(esta comentado no codigo). Qualquer duvida so perguntar que esclareco. ^^ Só deicho bem claro que a funcao principal (aleatorio) não foi criada por mim, eu apenas tirei ela como base seguindo o link que o Jonathan mostrou. Segue o codigo: <script type="text/javascript"> function aleatorio(inferior,superior){//não suporto plagio, por isso estou falando: não fui eu que criei essa funcao :P autoria do pessoal da criarweb var numPossibilidades = superior - inferior; aleat = Math.random() * numPossibilidades aleat = Math.floor(aleat); return parseInt(inferior) + aleat } window.onload = function() { var imagens=["#ff0000","#00ff00","#0000ff","#cccccc","#000000","#ffffff","#ffff00","#00ffff","#ff00ff"];//exemplo de array com enderecos para imagens var tabela = document.getElementById("tabela");//pega uma referencia a tabela for(r=0; r<tabela.rows.length; r++) {//percorre as linhas da tabela for(c=0; c<tabela.rows[r].cells.length; c++) { if(imagens.length == 0) {//se não houver mais imagens no array, ele simplesmente para de por imagens... r = tabela.rows.length; break; } var imgRandom = aleatorio(0, imagens.length-1);//cria variavel que vai referenciar uma posicao no array de imagens... //gera um numero randomico de 0 ate o maximo de elementos do array-1, ouseja, "percorre" todo o array tabela.rows[r].cells[c].style.backgroundColor = imagens[imgRandom]//insere a imagem no background. Troque por backgroundImage = "url("+imgens[imgRandom]+")"; imagens.splice(imgRandom, 1);//primeira propriedade determina qual posicao tu quer mecher //e a segunda, se for 1 ela deleta a posicao atual e tras todas as outras para tras... //faco isso para que as imagens não se repitam :P } } } </script> <table id="tabela" border="1" width="400" height="400"><!--tabela 3x3, você pode fazer a tabela que quiser... o script acima, vai adicionar imagens em qualquer tipo de tabela..--!> <tr><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td></tr> </table> Fontes utilizadas para desenvolver este script: Ana Claudia - DOM parte 4 CriarWeb Funcao splice()
-
Formulário envia caracteres estranhos para o e-mail
pergunta respondeu ao PAmaral de Danilo Moraes em Ajax, JavaScript, XML, DOM
Olha, vou aproveitar que tu ta fazendo uma pergunta e vou fazer a minha tmb pra ti :P Como que tu ta usando a funcao mail?? Tu tem um servidor de email instalado ai? Tu já conseguiu usar essa funcao com um servidor publico tipo: yahoo ou gmail? Eu atualmente uso a classe PHPMailer, porque nunca consegui fazer funcionar a funcao mail :S Agradeco a ajuda... E sobre os caracteres, tu tem que enviar eles com a funcao que o Romerito endicou e la no servidor, recebe-las com o utf8_decode(). T+ -
Eu que ia responder Jonathan Queiroz >.> asudhusahduashudhasuhduashas Brincadiera :P Bom, já que ele já deu o script pronto, vou fazer o que faco de melhor: explica-lo :P Bom, quando se trata de porcentagem, é praticamente impressindivel o uso de numeros de ponto flutuante ex: 1,5 22,0 55,8.... e por ai vai. Por que? quanto é 2% de 5? ^^ quanse qualquer porcentagem que tu vai tira vai sair numero de ponto flutuante. Nos campos de texto do HTML, todo e qualquer qualquer caracter que entra nele, é convertido para string... So para lembrarmos, string é texto e a+a = aa da mesma forma "5"+"5"="55" ^^ Sendo assim, o primeiro passo é pegar os dados dos campos de texto e transformálos em numero... Pelo que intendi, você tera 3 campos diferentes que seriam o total, frete e geral. O geral, nós não vamos precisar pegar nenhum dado dele, precisamos apenas somar a porcentagem com o total e colocar no geral... então sabemos que precisamos pegar valores de total e frete, tirar a porcentagem de frete sobre total e mostrar num terceiro campo chamado porcentagem. Comecamos assim: var total = parseFloat(document.getElementById("total").value);//pegamos uma referencia ao campo total...parseFloat transforma string em numero de ponto flutuante. var frete = parseFloat(document.getElementById("frete").value)//pegamos uma referencia ao campo frete... //agora vamos descobrir quantos porcento frete é de total: var porcentagem = total*frete/100; //Agora para colocarmos no campo que mostra-ra a porcentagem: document.getElementById("campoPorcentagem").value = porcentagem; //e por ultimo, mostramos o geral que e o total+porcentagem... document.getElementById("geral").value = total+porcentagem; Acho que é isso cara... Se eu entendi errado sua pergunta, so fala :P T+
-
Ajuda com efeito em texto (tipo fade in/out)
pergunta respondeu ao GuuH.zin de Danilo Moraes em Ajax, JavaScript, XML, DOM
Eu não gosto muito desse frameworks em javascript que estao no "mercado" atualmente. heheheheh Prefiro fazer tudo na mao já que não quero carregar mais de 4000 linhas de codigo so pra fazer um fadein... Se pensas assim tmb, procura por setInterval() e setTimeOut() que fazem um "delay" e depois chamam uma funcao. Com isso, podes colocar isso num loop e diminuir gradativamente a cor ou fazer recursividade... T+ -
Página Subindo, outra aparecendo
pergunta respondeu ao flora cria de Danilo Moraes em Ajax, JavaScript, XML, DOM
So vou dizer uma coisa: JQuery :P Da uma procurada por esse framework em javascript que faz esses efeitos :P Se quiser fazer na mao, procura por setInterval() e setTimeOut().... T+ -
Mostrar a input em uma caixa alert
pergunta respondeu ao Ruffysan de Danilo Moraes em Ajax, JavaScript, XML, DOM
Olha, ta certo que forum e um local para pedir ajuda, mas pedir pra outros fazerem por você é meio demais :S Isso tudo que você digito aki pra pergunta no forum: tenta digita so assim no google: Tu consegue a resposta mais rapido que em um forum e ainda não faz os usuarios ativos desse forum se sentirem como capachos <.< Em todo caso, como acredito que você não queira aprender como fazer e sim apenas ter feito, faz assim: <input type="text" onblur="alert(this.value)">//plagiei o SK15 uashduashduashudahsuasdh //se quiser que apareca quando clicar num botao... <input type="text" id="texto"> <input type="button" onclick="alert(document.getElementById("texto").value)"> O alert é uma funcao... Se você quiser saber como fazer a sua propria funcao mostrar isso, faz assim: <.< function mostra(campo) { if(typeof campo == "string") { campo = document.getElementById(campo); } alert(campo.value); } <input type="text" id="texto"> <input type="text" onclick="mostra('texto')"> Olha cara, ve se da uma estudada, não vo nem explica o codigo pra te forcar a aprender :P T+ -
hehehehe, ta faltando pesquisa no google, né?? não vou nem fazer essa pesquisa no google, mas tenta assim: passar dados via get para o php..... Acho que de 100mil que aparece, na primeira pagina que tu clicar tu aprende isso... aushdusahduashudhasudh Mas em todo caso, o browser so tem que carrega o nome do arquivo com a query string: arquivo.php?variavel=valor Vamo estuda gente!
-
concerteza não precisava por esse codigo imenso ai <.<... E qual o problema em fazer porcentagem?? Tu poderia pegar o valor total, dividir por 100 e multiplicar pela porcentagem que tu quer. Ex: (total/100)*porcentagem Qual seria o problema? T+
-
não sei como exatamente é essa janela. Mas pra deichar uma "janela" com o efeito de flutuar/sobrepor outros elementos, apenas sete sua posicao como fixed (se quiser que ela não saia do lugar) ou absolute como: position: absolute; ou position: fixed e controle seu posicionamento com as prorpiedades left e top... alguma duvida a mais? Poderias dar uma olhada na propriedade z-index tmb. T+
-
Script que altera background do site parou de funcionar
pergunta respondeu ao ffspark de Danilo Moraes em Ajax, JavaScript, XML, DOM
Cara, não tive tempo hoje de olhar muito a fundo o seu site. Tive outras coisas pra fazer, responder email e tals (segunda né? :P) mas eu dei uma passada de olho e percebi uma inconsistencia nos nomes das imagens. Uns comecam com letra maiuscula e outros não. Uns tem espaco em o X e outros não, ta muito loco aki la :S Otra coisa: O firefox dispoibiliza para o usuario, uma ferramenta de "debugging" que é chama de "console de erros". Vai em Ferramentes -> Console de erros e clica em limpar. Depois apenas abra o seu site, o seu e mais nenhum e nos diga quais são os erros que aparecem. Se preferir, pode tirar prints screens... Ai nos mostra, ok? T+ -
Realmente aconselho você a adotar a filosofia de software livre! <_< uashduashduahsudhauhdsa É IMPOSSIVEL esconder qualquer conteudo que chegue no cliente :closedeyes: Principalmente porque se ele desativar o javascript do browser, já era =) A melhor maneira de atrapalhar, é sujar o codigo com comentarios HTML, porque ai se ele copiar do fonte, encontrará o codigo todo "sujado". Porem, se ele desativar o javascript, já era :P Olha cara, tem inumeras maneiras de dificultar o acesso a informacoes no cliente, mas nenhuma 100% eficaz. E porque você precisa disso? Se falar provavelmente podemos audar mais especificamente. T+
-
(Resolvido) Como salvar o conteúdo de um array em um arquivo txt?
pergunta respondeu ao Matheus Matos de Danilo Moraes em Ajax, JavaScript, XML, DOM
estou bolando uma especie de IDE online pra mim e a maneira que estou utilizando pra "salvar" arquivos no desktop é a seguinte: O usuario digita todo o texto que quer la e quando clica em salvar, abre uma janela pedindo que formato ele quer. Depois de escolhido o formato, faco uma requisicao via ajax ao servidor enviando por get o nome e formato do arquivo e por post o proprio texto. então o php pega esse texto recebido, monta o arquivo da maneira que eu especificar via get e então salva numa determinada pasta do servidor esse arquivo e retorna para o ajax, o caminho no servidor onde esta esse arquivo. Ai então abrira uma janela modal tampando toda a tela com um link com o nome do arquivo e quando clicr nele, o arquivo sera baixado para o computador... Para ler este arquivo, se ele estiver no computador do usuario o processo seria quase igual: Ele quando clicar em abrir, sera aberto uma janelinha com uma opcao de selecionar arquivo (campo file) e então ele selecionara o arquivo e enviara o texto via post para o servidor e o servidor vai retornar o texto para a IDE. Tu poderia, dependendo da necessidade, se aproveitar do que o browser faz por você. Se você tentar abrir um arquivo .txt pelo browser, o texto inteiro ira aparecer ali... já pensou em usar frames pra abrir esses arquivos? Iframes tmb da... :P Espero ter ajudado. T+ -
(Resolvido) quantidade de objetos em uma variavel
pergunta respondeu ao Erick Veras de Danilo Moraes em Ajax, JavaScript, XML, DOM
beleza, qualquer coisa so postar aki que damo um geito. heheh -
(Resolvido)Podem me ajudar com document getElementById?
pergunta respondeu ao jessepatricio de Danilo Moraes em Ajax, JavaScript, XML, DOM
Sei sim... É so adicionar o conteudo normalmente :P Se tu quer adicionar conteudo usando getElementById, coloca os comandos abaixo do appendChild()... tipo: document.getElementById("produtos").innerHTML = "algo"; Mas lembre-se que innerHTML não é aconselhado para inserir conteudo a não ser quando se trata do objeto XMLHttpRequest que ainda não foi padronizado pela W3C :P Aconselho a criar textos e tags com createElement() e depois adiciona-los no div com appendChild(). Se tu me disser o que quer por nele, acho que posso ser mais específico. T+ :P -
(Resolvido)Podem me ajudar com document getElementById?
pergunta respondeu ao jessepatricio de Danilo Moraes em Ajax, JavaScript, XML, DOM
Cara, tenho uma observacao a fazer com relacao ao seu codigo. Que acha de bolar um sistema de fila para as suas requisicoes ajax? Da maneira como esta, você tem que instanciar um objeto XMLHttpRequest a cada nova requisicao em "paralelo". Da uma pesquisada sobre fila de requisicoes ajax. O conteudo esta sendo concatenado ou melhor, não esta sendo tirado da tela quando seleciona o otro, porque você esta usando essa linha: document.getElementById('conteudo').innerHTML+= ajax.responseText; Esse += esta colocando o conteudo anterior mais o atual. Tenta usar esse novo code aki que fiz: function subcategorias(categoria_id) { ajax = false; if(window.XMLHttpRequest) ajax = new XMLHttpRequest(); else ajax = new ActiveXObject("Microsoft.XMLHTTP"); if(ajax) { ajax.open('POST','ajax.php',true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); ajax.setRequestHeader("Pragma", "no-cache"); ajax.send('acao=subcategorias&valor='+categoria_id); ajax.onreadystatechange = function() { if(ajax.readyState == 4) { if(ajax.status == 200) { document.getElementById('conteudo').innerHTML = ajax.responseText; var produtos = document.createElement("div");//criamos um novo div que recebera a lista de produtos produtos.setAttribute("id","produtos");//aki setamos o id do div como produtos, para que na funcao lista_produtos() possamos pega-lo usando getElementById... document.getElementById('conteudo').appendChild(produtos);//colocamos esse novo div criado dentro do div conteudo, obviamente, abaixo de tudo queestiver dentro desse div } } } } else{ alert('Este navegador não possui suporte a Ajax.'); } return ajax; } function lista_produtos(subcategoria_id) { ajax = false; if(window.XMLHttpRequest) ajax = new XMLHttpRequest(); else ajax = new ActiveXObject("Microsoft.XMLHTTP"); if(ajax) { ajax.open('POST','ajax.php',true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); ajax.setRequestHeader("Pragma", "no-cache"); ajax.send('acao=lista_produtos&valor='+subcategoria_id); ajax.onreadystatechange = function() { if(ajax.readyState == 4) { if(ajax.status == 200) { document.getElementById('produtos').innerHTML= ajax.responseText;//colocamos a lista de produtos dentro desse div que foi criado na requisicao anterior } } } } else{ alert('Este navegador não possui suporte a Ajax.'); } return ajax; } Foi simples o que fiz, apenas criei um novo div e coloquei ele dentro do div conteudo. Assim não tem mais que usar o +=... Qualquer duvida so postar aew. T+ -
Script que altera background do site parou de funcionar
pergunta respondeu ao ffspark de Danilo Moraes em Ajax, JavaScript, XML, DOM
Cara, agora deu uma olhada com mais atencao, e tenho certeza que o problema esta na maneira de chamar a imagem hhehehehehehe Pode ser que tenha mais coisas, mas da uma olhada nesses dois caminhos: case 1600:document.body.background = src = "Backgrounds/1600 x 1200.jpg" break; case 1280:document.body.background = src = "backgrounds/1280 x 1024.jpg" break; Alem do problema de referenciar o caminho com = src=.... que o SK15 já falo, percebe que tem 2 nomes de pastas diferentes?? "backgrounds (b minusculo) e "Backgrounds (b maiusculo). Cara, para poder ajudar melhor, ou tu coloca toda a hierarquia de pastas aki no forum, descreve elas ou coloca o site todo pra download pra podermos analizar, senao não vou poder fazer mais nada :S T+ -
Script que altera background do site parou de funcionar
pergunta respondeu ao ffspark de Danilo Moraes em Ajax, JavaScript, XML, DOM
Cara, preciso que tu me diga como esta a hierarquia de pastas no teu servidor. Ex: site imagens -> imagem 1, imagem1 site -> codigo1, codigo2, pasta_subCodigo.... Algo mais ou menos assim, para eu entender o problema. Ao que tudo indica, ele não esta achando a pasta Backgrounds. T+ -
(Resolvido) Evento on click não chama função
pergunta respondeu ao Proteu de Danilo Moraes em Ajax, JavaScript, XML, DOM
Foi como mostrei no meu codigo anterior, sem o ! e com o submit(). Isso acontece porque tiramos o efeito de submit do botao quando no atributo onclick colocamos return false. então teriamos que literalmente simular um submit pelo javascript. Olha, quando mostrei o codigo anterior, apenas corrigi o que estava errado e sai super atrasado para a escola. Agora com um pouco mais de tempo, vou deichar algumas palavras com vocês asudhasudhuashduash. segue... Um pequeno momento de distracao minha, e isso acontece ^^ Vamos seguir a seguinte logica: Percebemos que conseguimos suprimir o efeito do botao submit quando estamos com a expressao return false no proprio evento onclick. Segue o codigo de como esta o html ate então: <input type="submit" name="submit" value="cadastrar" onClick="valida_dados(); return false"> então, se nos tirarmos esse return false, quando o javascript executar a funcao, o html ficaria mais ou menos assim: <input type="submit" name="submit" value="cadastrar" onClick="false"> Perceberam que para eu suprimir o efeito, eu tenho que estar com a expressao return ali, certo? então agora ficou bem simples, para não ter que usar o submit na funcao, so fazer return valida_dados(). Segue o novo codigo: <script language="JavaScript"> function valida_dados(){ if (form1.campo.value==""){//campo e o nome do input text... alert("Favor Preencher o campo Curso."); document.form1.campo.focus(); return false; }else{ if (!confirm("Você deseja mesmo cadastrar esta cidade?")) { return false; } } } </script> <form name="form1" method="post" action="curso2.php"> <input type="text" name="campo"> <input type="submit" name="submit" value="cadastrar" onClick="return valida_dados()"><!--aki deveria ficar o return false, que iria cancelar o submit de todo o click, sendo que ai so tens que mandar submeter com a funcao submit()--> </form> Bom, so um adicional referente as normas da W3C. A W3C é uma organizacao criada com o intuito de padronizar a web. Seguir os seus padroes, é fundamental para se ter sistemas bem estruturados e de facil manutensao. O nosso colega Jonathan Queiroz frisou um pouco disso, e vou mostrar mais algumas coisas para mudar: <script language="JavaScript"> Esse atributo language e considerado deprecated ou seja "fora de uso" ou ultrapassado e é extremamente aconselhavel utilizar a seguinte expressao: <script type="text/javascript"> Repare que tudo esta com letras minusculas, para que sigamos as normas de documentos XHTML. Depois, a W3C determina que o atributo name é deprecated tmb, e que deve-se usar o atributo id para referenciar elementos. Porem, quando você submete um formulario, os elementos serao enviados com os nomes que estao no atributo name, sendo assim, você pode colocar os dois atributos se precisar. Exemplo: <input type="text" name="campo" id="campo"> Repare nessa outra parte, que eu não coloquei o atributo name para o formulario e nem para o botao submit: <form id="form1" method="post" action="curso2.php"> <input type="submit" id="submit" value="cadastrar" onClick="return valida_dados()"> não coloquei porque não vou precisar enviar esses dados para o servidor, então tanto faz o nome que eles vao ter no servidor. Em sistemas desenvolvidos com ajax, foi literalmente abolido o uso do atributo name já que você tera que setar todo o conteudo da requisicao por post ou por get, então você pode simplesmente pegar dos atributos id. Agora que já sabemos que temos que referenciar os elementos pelo seu id, como faremos isso? Simples: document.getElementById("elemento"); Segue abaixo o seu codigo reformulado para as normas da W3C: <script type="text/JavaScript"> function valida_dados(){ var campo = document.getElementById("campo"); if (campo.value==""){ alert("Favor Preencher o campo Curso."); campo.focus(); return false; }else{ if (!confirm("Você deseja mesmo cadastrar esta cidade?")) { return false; } } } </script> <form id="form1" onsubmit="return valida_dados()" method="post" action="curso2.php"> <input type="text" name="campo" id="campo"> <input type="submit" id="submit" value="cadastrar"> </form> Nele, so tem uma coisa que eu ainda não espliquei, que é o evento onsubmit. Esse evento é acionado quando o formulario é submetido e é muito melhor você usar esse evento do que o evento onclick do botao submit. Por que? Eu já tive que fazer em um sistema, varios botoes submeterem o mesmo formulario, so que com algumas diferencas entre eles. Se eu setace a funcao de validar o formulario no onclick, teria que fazer todos esses botoes com o atributo onclick, já dessa forma seto apenas 1 vez. Como sempre escrevi mais um texto =/ Espero ter esclarecido suas duvidas. Qualquer coisa, posta ai. T+ -
(Resolvido) quantidade de objetos em uma variavel
pergunta respondeu ao Erick Veras de Danilo Moraes em Ajax, JavaScript, XML, DOM
Olha cara, posso estar bem errado, mas até onde sei uma variavel só pode instanciar apenas 1 objeto... Mas se sua pergunta for saber as propriedades e metodos que um objeto tem, acho que isso aki resolve: function countObjs(objs) { var qt = 0; for(i in objs) { qt++; } return qt; } Olha, vamos a uma rapida esplicacao. Quase todos que postaram aki, postaram algo utilizando o for...in e por que? O for já é conhecido, mas o in, entre outras funcionalidades que tu pode ver aqui, quando utilizado com o for, serve para iterar sobre arrays, objetos entre outras colecoes. No coigo acima, eu estou recebendo como parametro uma variavel/objeto que tem seus devidos atributos. Crio então um contador "qt" e inicio ele como 0. Depois uso o for para iterar dentro do objeto "objs" recebido por parametro. Perceba que i não recebe todos os atributos de objs de uma unica vez, ele recebe um por vez, a cada loop. Entrando pelo loop, eu incremento a variavel qt, e quando não existe mais atributos no objeto, o loop encerra e é retornado qt. So lembrando o code do nosso colega SK15: var count = 0; for (k in SeuObjeto) if (SeuObjeto.hasOwnProperty(k)) count++; alert(count); Mesma coisa que o codigo que eu mostrei, com apenas uma unica diferenca: um teste de condicao if, testando o retorno da funcao hasOwnProperty(). Para saber mais sobre essa funcao, podes ver aqui, mas vou dar uma rapida esclarecida. Essa funcao testa se existe o atributo "k" passado como parametro, no objeto SeuObjeto. So um detalhe, o operador "in", quando usado com for, passa uma string para a variavel usada como chave (eu usei como chave a variavel i e o SK15 usou o k). Se existir esse atributo, ele retorna true senao retorna false. é uma seguranca a mais utilizar essa funcao, mas não a utilizei porque não vejo necessidade sendo que se esta sendo iterado pelo in, obciamente existe ^^ Alguma duvida? Qualquer coisa so postar aqui. Segue abaixo um codigo de exemplo: function countObjs(objs) { var qt = 0; for(i in objs) { alert(typeof(i)); qt++; } return qt; } function objeto(){ this.a = "danilo"; this.b = "eu"; this.mostra = function(){ alert(this.a); } } var teste = new objeto(); alert(countObjs(teste));//retorna 3, já que criei 3 atributos: a, b e mostra. -
(Resolvido) Evento on click não chama função
pergunta respondeu ao Proteu de Danilo Moraes em Ajax, JavaScript, XML, DOM
Segue parte do seu code: function valida_dados(nmcurso){ if (nomeform.nmcurso.value==""){ alert("Favor Preencher o campo Curso."); document.form1.nmcurso.focus(); return false; } if (!confirm("Você deseja mesmo cadastrar esta cidade?")) { return false } } Aqui tens que pensar assim, se o campo nmcurso for vazio, eu mostro o alert, SENAO eu pergunto se ele quer confirmar. então acabou faltando um ELSE ali. Outra: <input type="submit" name="submit" value="cadastrar" onClick="valida_dados(this)"> Nessa linha você esta chamando a funcao, enviando como parametro uma referencia ao proprio objeto de botao submit. não precisas fazer isso já que quando se dispara uma funcao, um objeto event já é criado... E da mesma forma, porque estarias comparando se o valor do botao esta vazio? O certo seria enviar no minimo a referencia ao objeto de texto. Tem outro probleminha que não descobri como resolver: não sei porque, mas se o return false estiver dentro da funcao que o botao submit chama, o formulario é submetido assim mesmo. então segue o codigo para solucionar o seu problema. <script language="JavaScript"> function valida_dados(){ if (form1.campo.value==""){//campo e o nome do input text... alert("Favor Preencher o campo Curso."); document.form1.campo.focus(); }else{//aki o else que falei if (confirm("Você deseja mesmo cadastrar esta cidade?")) { document.form1.submit();//ao invés de dar return false, eu envio o formulario se o usuario apertou ok } } } </script> <form name="form1" method="post" action="curso2.php"> <input type="text" name="campo"> <input type="submit" name="submit" value="cadastrar" onClick="valida_dados(); return false"><!--aki deveria ficar o return false, que iria cancelar o submit de todo o click, sendo que ai so tens que mandar submeter com a funcao submit()--> </form> -
carregar funcao javascript via css
pergunta respondeu ao marcelo morais de Danilo Moraes em Ajax, JavaScript, XML, DOM
nussa, o codigo e bem grandinho e acho que não precisava dele, já que sua duvida não inclue nenhum erro no codigo... Eu não conheco nenhuma maneira de carregar codigo javascript em css, mas porque chamar o codigo por css? Adiciona o evento onmouseover mesmo e quando ele for ativado, ele executa a funcao. Era essa sua duvida? Se não for, por favor de mais detalhes de seu problema. T+ -
javascript pegar atributo retornado pela servlet
pergunta respondeu ao tojoaopaulo de Danilo Moraes em Ajax, JavaScript, XML, DOM
olha, não intendo nada de JSP, mas a logica pra PHP, JSP e linguagens server-side acredito que sejam parecidas... Para voce pegar dados vindos do servidor, conheco 2: 1- Fazer com que o servidor sete essas propriedades gerando o HTML pra elas. Isso geralmente é feito gerando os campos hidden, ai quando a pagina carrega, o javascript apenas pega os valores nesses campos hidden e trabalha com eles. Antes de eu conhecer ajax, eu usava este metodo. 2- Podes usar requisicoes assincronas tanto com AJAX quanto o atigo metodo de iframes. Com ajax, você so tem que receber os dados por xml ou texto, e trabalhar com eles. Procura na net sobre ajax, objeto XMLHttpRequest e responseText que tu vai achar bastante coisa. Sobre iframes, nunca fiz, mas sei que a pagina que e requisitada pelo iframe, na maioria das veses gera um array em javascript e esse array então é passado para a pagina principal usando DOM: parent.... ou seja, elemento pai. Mas não posso entrar em mais detalhes pois nunca fiz testes com iframes, então não sei como vao se comportar. Qualquer duvida, so postar aew T+ -
(Resolvido) Bilblioteca pessoal em javasript
pergunta respondeu ao Rafael Laurindo de Danilo Moraes em Ajax, JavaScript, XML, DOM
A logica esta em fazer com que o interpretador leia os codigos js quando carrega a pagina, para que possa colocar as funcoes na memoria. Eu estou desenvolvendo nesse momento, um framework para gerenciamento de classes e funcoes javascript vindas dinamicamente do servidor. A desvantagem da solucao que eu achei neste tópico que o Jonathan Queiroz citou, é a seguinte: O codigo vem do servidor e atraves da funcao eval(), fazemos com que o interpretador javascript leia o codigo sem ter que iniciar um novo cabecalho... Bom, estou usando atualmente a funcao que descrevi nesse tópico, mas usarei por pouco tempo pelo seguinte motivo: O codigo que passa pela funcao eval, vai direto para a memoria e o codigo (string) que veio do servidor, é adicionado na pagina sem necessidade já que o interpretador javascript não passara por ali para executar as funcoes e sim, vai para a funcao eval(). Em breve vou postar as versoes beta do framework, mas se não quiser esperar ate la, da uma olhada no tópico que o Jonathan passou e tenta dar uma mechida para se enquadrar a suas necessidades... Se não quiser implementar aquele recurso, sei que o framework JQuery já tem isso pronto, eu so não uso porque não gosto da ideia de carregar mais de 4mil linhas de codigo sendo que so vou usar 1/3 ou ate menos... :P Qualquer duvida so posta aew :D -
Ajuda com posicionamento do site
pergunta respondeu ao lukasportal de Danilo Moraes em HTML, XHTML, CSS
left: 50% não vai resolve muito já que ele se baseia no canto superior esquerdo.... Vas como o Teko falo, coloca margin-left : auto e margin-right: auto ou apenas margin: 0 auto; Onde o 0 diz respeito a top e bottom e o auto a left e right. Mas pra isso funcionar, o div body tem que estar como position: absolute. Depois mostra aew como fico Edit: a proposito, fui tentar me cadastrar no seu jogo, ms sempre aparece uma mensagem dizendo que todos os campos tem que ser validos... Ta com problema aew?