daniel_ffp Posted December 12, 2012 at 01:58 AM Report #486744 Posted December 12, 2012 at 01:58 AM Boas, Eu precisava muito da vossa ajuda para tentar resolver este problema que tenho. Nunca progamei com javascript. Estou a criar uma especie de tradutor por associação (as palavras já estão guardadas na base de dados). O utilizador selecciona uma palavra na combobox e depois deverá aparecer a tradução guardada nessa palavra e mostrar. Isto deverá ocorrer sempre que a palvra mudar na combobox. Agradecia se me podessem ajudar.
yoda Posted December 12, 2012 at 02:33 AM Report #486745 Posted December 12, 2012 at 02:33 AM Se nunca fizeste nada em javascript, a primeira coisa é procurar aprender. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
jpaulino Posted December 12, 2012 at 08:20 AM Report #486751 Posted December 12, 2012 at 08:20 AM Começa por aqui: http://www.w3schools.com/js/tryit.asp?filename=tryjs_putdropdown Mas tens muitos exemplos na internet e vais precisar de aprender um pouco sobre javascript.
lsoares Posted December 12, 2012 at 03:19 PM Report #486798 Posted December 12, 2012 at 03:19 PM --- Luís Soares jQuery - A Sua Biblioteca Javascript
daniel_ffp Posted December 12, 2012 at 05:27 PM Author Report #486840 Posted December 12, 2012 at 05:27 PM jpaulino Vi o exemplo do link é aquilo que preciso mas falta ser com os dados da base de dados. Eu por php consigo por os dados na combobox mas depois precisava de saber como conseguiria fazer com que o javascript va a bd buscar a tradução.
lsoares Posted December 12, 2012 at 05:37 PM Report #486842 Posted December 12, 2012 at 05:37 PM O Javascript não vai buscar nada à BD. É um linguagem client side. Corre no browser. PHP, Java e .NET correm no servidor - são server side. No teu caso terás de recorrer a Ajax... o cliente (browser) faz o pedido com a palavra que quer ver traduzida (on dropdown change") e o sevidor responde (potencialmente em JSON). O cliente pega no resultado e coloca-o no local devido. Usando jQuery a coisa fica mais fácil (o pedido Ajax, o parsing e a manipulação DOM). --- Luís Soares jQuery - A Sua Biblioteca Javascript
daniel_ffp Posted December 12, 2012 at 05:42 PM Author Report #486844 Posted December 12, 2012 at 05:42 PM (edited) Eu estava a tentar utilizar este código <?php include('init.php'); ?> <!DOCTYPE html> <html> <head> <script> function palavra() { var mylist=document.getElementById("listaPalavra"); document.getElementById("favorite").value=mylist.options[mylist.selectedIndex].text; } </script> </head> <body> <form name="form1" method="post" action=""> <h1 align="center">Palavras:</h1> <p align="center"> <label for="listaPalavra"></label> <select name="Palavra" id="listaPalavra" onchange="palavra()"> <?php $sql = "SELECT * FROM palavra"; $execuar = mysql_query($sql) or die(mysql_error()); while ($reg = mysql_fetch_array($execuar)) { ?> <option><?php echo $reg['palavraPort']?></option> <?php } ?> </select> </p> <p>Your favorite browser is: <input type="text" id="favorite" size="20"></p> </form> </body> </html> Edited December 12, 2012 at 06:06 PM by apocsantos
lsoares Posted December 12, 2012 at 05:43 PM Report #486845 Posted December 12, 2012 at 05:43 PM assim vais mandar o dicionário todo para o browser... isso poderá ser muiiiito pesado... --- Luís Soares jQuery - A Sua Biblioteca Javascript
daniel_ffp Posted December 12, 2012 at 05:54 PM Author Report #486848 Posted December 12, 2012 at 05:54 PM (edited) mas fora esse pequeno/grande problema ele nao esta a aparecer no inputtextfield a palavra traduzida nem me aparece a palavra igual a que seleccionei Edited December 12, 2012 at 06:03 PM by daniel_ffp
lsoares Posted December 12, 2012 at 06:04 PM Report #486852 Posted December 12, 2012 at 06:04 PM coloca isso no JSFiddle para eu analisar. mas mete dados de BD fictícios para não teres de fazer a query 🙂 --- Luís Soares jQuery - A Sua Biblioteca Javascript
daniel_ffp Posted December 12, 2012 at 06:09 PM Author Report #486853 Posted December 12, 2012 at 06:09 PM Com valores estaticos ele funciona mas quando ponho com os dados vindo da base de dados ele nao funciona o meu problema esta ai
lsoares Posted December 12, 2012 at 06:13 PM Report #486854 Posted December 12, 2012 at 06:13 PM então faz assim. coloca numa página nova o código abaixo faz view source cola aqui o resultado. <?php $sql = "SELECT * FROM palavra"; $execuar = mysql_query($sql) or die(mysql_error()); while ($reg = mysql_fetch_array($execuar)) { ?> <option><?php echo $reg['palavraPort']?></option> <?php } ?> já agora... não tens nenhum erro de JS na consola? --- Luís Soares jQuery - A Sua Biblioteca Javascript
HappyHippyHippo Posted December 12, 2012 at 06:19 PM Report #486857 Posted December 12, 2012 at 06:19 PM O Javascript não vai buscar nada à BD. É um linguagem client side. Corre no browser. sim e não java é uma linguagem client-side, mas bem à pouco tempo passou ser possível fazer este tipo de brincadeiras: https://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html 2 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
lsoares Posted December 13, 2012 at 12:22 AM Report #486917 Posted December 13, 2012 at 12:22 AM Naquele contexto e de acordo que a afirmação que ele fez (se a leres bem) imperava eu dizer isso. Por vezes, em nome da simplificação e da aprendizagem, há que sacrificar o purismo. Mas sim, já vi que estás a par 😉 De qualquer forma... o teu exemplo nem foi o melhor porque isso é uma BD sim mas ainda sim client side. Um exemplo melhor seria o uso do Javascript em biliotecas server side como no CouchDB. Mas é bem visto anyway 😉 PS. Suponho que queiras ter dito Javascript e não Java 1 Report --- Luís Soares jQuery - A Sua Biblioteca Javascript
HappyHippyHippo Posted December 13, 2012 at 12:26 AM Report #486918 Posted December 13, 2012 at 12:26 AM Mas sim, já vi que estás a par 😉 De qualquer forma... o teu exemplo nem foi o melhor porque isso é uma BD sim mas ainda sim client side. Um exemplo melhor seria o uso do Javascript em biliotecas server side como no CouchDB. era um contra exemplo da afirmação, uma BD client-side manipulada com javascript não era solução ao pedido no post PS. Suponho que queiras ter dito Javascript e não Java sim, é o que dá responder em várias secções do fórum .... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
lsoares Posted December 13, 2012 at 12:29 AM Report #486921 Posted December 13, 2012 at 12:29 AM ok 🙂 vou explorar isso que conhecia pouco. thx --- Luís Soares jQuery - A Sua Biblioteca Javascript
daniel_ffp Posted December 13, 2012 at 02:03 AM Author Report #486936 Posted December 13, 2012 at 02:03 AM então faz assim. coloca numa página nova o código abaixo faz view source cola aqui o resultado. <?php $sql = "SELECT * FROM palavra"; $execuar = mysql_query($sql) or die(mysql_error()); while ($reg = mysql_fetch_array($execuar)) { ?> <option><?php echo $reg['palavraPort']?></option> <?php } ?> já agora... não tens nenhum erro de JS na consola? Depois de colocar o código num ficheiro não me aparece nada na página. Isto com o código que pustas-te. Com o meu código ele motra a combobox com os valores da bd so nao consigo fazer uma function javascript que quando ele muda-se me mostra-se a palavar traduzida que se encontra na base de dados
HappyHippyHippo Posted December 13, 2012 at 02:12 AM Report #486938 Posted December 13, 2012 at 02:12 AM Com o meu código ele motra a combobox com os valores da bd so nao consigo fazer uma function javascript que quando ele muda-se me mostra-se a palavar traduzida que se encontra na base de dados porque como te foi dito, javascript não comunica com a tua base de dados do lado do servidor. tens agora que escolher - mandar toda a informação para o cliente (mais simples mas pode se tornar pesado) - pedir ao servidor a palavra traduzida a cada alteração do select (mais complicado, mas mais leve para o sistema) depois de escolher, diz, que eu ou outro te apresentarão o que terás de fazer ou ler para resolver o teu problema IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
daniel_ffp Posted December 13, 2012 at 12:31 PM Author Report #486973 Posted December 13, 2012 at 12:31 PM eu neste momento vou buscar os dados todos do dicionário e passo para o cliente por isso para já vou continuar dessa forma. Se me poderem ajudar agradecia
lsoares Posted December 13, 2012 at 12:33 PM Report #486974 Posted December 13, 2012 at 12:33 PM (edited) à primeira vista pareces estar só a colocar a palavra e não o seu significado. <option><?php echo $reg['palavraPort']?></option> Edited December 13, 2012 at 12:33 PM by lsoares 1 Report --- Luís Soares jQuery - A Sua Biblioteca Javascript
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now