anuska Posted June 15, 2008 at 09:22 PM Report Share #191400 Posted June 15, 2008 at 09:22 PM Ola! eu tenho uma duvida, quem me pode ajudar? 🙂😕 tenho este exemplo em Ajax, tenho uma caixa de texto, e ao por la uma letra, aparecem varias opções pra escolher, por exemplo ao por a letra A na caixa de texto aparecem as opcoes Acer, Asus, etc, para escolher, eu queria que depois ao seleccionar a palavra "Acer" abrir outra página. como posso fazer isso? obrigada em baixo vou por o codigo Sugest.htm <html>   <head>   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   <script language="Javascript">     var xmlHttp     function showHint(str)     {       if (str.length==0)       {         document.getElementById("hiddenDIV2").innerHTML="";         document.getElementById("hiddenDIV2").style.visibility='hidden';         return;       }       xmlHttp=GetXmlHttpObject(); //cria o objecto XMLHttpRequest do browser       if ( xmlHttp==null)       {         alert ("O seu browser não suporta AJAX!");         return;       }       var url="sugest.php";       url=url+"?param="+str;       //cria um id da sessão para não fazer cache o browser       url=url+"&sid="+Math.random();       xmlHttp.onreadystatechange=stateChanged;       xmlHttp.open("GET",url,true);       xmlHttp.send(null);     }     function stateChanged()     {       if (xmlHttp.readyState==4)       {         var resposta = xmlHttp.responseText;         if(resposta.length>0)         {           document.getElementById("hiddenDIV2").style.visibility='visible';           document.getElementById("hiddenDIV2").innerHTML=xmlHttp.responseText;         }         else           document.getElementById("hiddenDIV2").style.visibility='hidden';       }     }     function GetXmlHttpObject()     {       var xmlHttp=null;       try       {         // Firefox, Opera 8.0+, Safari         xmlHttp=new XMLHttpRequest();       }       catch (e)       {         // Internet Explorer         try         {           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");         }         catch (e)         {           xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");         }       }       return xmlHttp;     }     function loadrecord(record) // quando se clica no link insere na caixa     {       document.schform.txt1.value = record;       document.getElementById("hiddenDIV2").style.visibility='hidden';     }   </script>   <body>     <form name="schform">       <table>         <tr>           <td>Primeiro Nome:</td>           <td><input type="text" id="txt1" name="txt1"                onkeyup="showHint(this.value)"></td>         </tr>       </table>     </form>     <div id="hiddenDIV2" style="position:relative; top: -22px; left: 102px;width: 200;     visibility:hidden; background-color:#FFFF40; border: 1px solid black;">     </div>     </body></html> sugest.php <?php header("Content-Type: text/html; charset=ISO-8859-1",true); // Array com os nomes $a[]="Acer"; $a[]="Asus"; $a[]="Hp"; $a[]="Tsunamy"; $a[]="Compact"; $a[]="Vaio"; //obtem os parâmetros $param=$_GET["param"]; //parametros passados param>0 if (strlen($param) > 0) { $hint=""; for($i=0; $i<count($a); $i++) { if (strtolower($param)==strtolower(substr($a[$i],0,strlen($param)))) { $hint .= "<a href=\"javascript:loadrecord('".$a[$i]."')\">" .$a[$i]."</a></br>"; } } } if ($hint == "") { $response=""; } else { $response=$hint; } //envia a resposta echo $response; ?> Link to comment Share on other sites More sharing options...
fnds Posted June 16, 2008 at 11:40 AM Report Share #191485 Posted June 16, 2008 at 11:40 AM anuska, primeiro formata o código com o GeSHi, vê este tópico https://www.portugal-a-programar.pt/help/#code 😛 Segundo: essas opções aparecem onde, se forem texto podes envialas assim <a href="marcas.php?marca=acer">acer</a> Link to comment Share on other sites More sharing options...
anuska Posted June 16, 2008 at 02:28 PM Author Report Share #191499 Posted June 16, 2008 at 02:28 PM ja formatei o texto, eu sei que assim se le o codigo muito melhor, mas não sabia dessa opcao. as marcas sao guardadas num array // Array com os nomes $a[]="Acer"; $a[]="Asus"; $a[]="Hp"; $a[]="Tsunamy"; $a[]="Compact"; $a[]="Vaio"; por isso nao sei como usar if(result==Vaio), nao posso fazer isso, estao a perceber a minha duvida? Link to comment Share on other sites More sharing options...
TheDark Posted June 16, 2008 at 02:43 PM Report Share #191501 Posted June 16, 2008 at 02:43 PM Eu já tinha formatado o código, incluindo a indentação 😛 Para que página queres ir quando seleccionas uma marca? É só uma questão de formatares o url dentro da função loadrecord. Desaparecido. Link to comment Share on other sites More sharing options...
Battousai Posted June 16, 2008 at 02:53 PM Report Share #191502 Posted June 16, 2008 at 02:53 PM ja formatei o texto, eu sei que assim se le o codigo muito melhor, mas não sabia dessa opcao. as marcas sao guardadas num array // Array com os nomes $a[]="Acer"; $a[]="Asus"; $a[]="Hp"; $a[]="Tsunamy"; $a[]="Compact"; $a[]="Vaio"; por isso nao sei como usar if(result==Vaio), nao posso fazer isso, estao a perceber a minha duvida? Não sei se é isto que queres: if( in_array( $result, $a ) ) .... Um conselho. Declara arrays desta maneira: $a = array( 'Acer', 'Asus' ... ) Fica mais fácil de ler. Link to comment Share on other sites More sharing options...
anuska Posted June 16, 2008 at 06:24 PM Author Report Share #191533 Posted June 16, 2008 at 06:24 PM Eu já tinha formatado o código, incluindo a indentação 😛 Para que página queres ir quando seleccionas uma marca? É só uma questão de formatares o url dentro da função loadrecord. Sim isso.. mas como faço? por exemplo ao carregar em HP abre a pagina: home.php?load=paginaHP como faço isso? muito obrigada a todos 🙂😄 :D:D:D Link to comment Share on other sites More sharing options...
TheDark Posted June 16, 2008 at 08:12 PM Report Share #191546 Posted June 16, 2008 at 08:12 PM window.location = "home.php?load=paginaHP"; Desaparecido. Link to comment Share on other sites More sharing options...
anuska Posted June 16, 2008 at 10:50 PM Author Report Share #191581 Posted June 16, 2008 at 10:50 PM window.location = "home.php?load=paginaHP"; Sim 😛 funciona, obrigada mas assim seja qual for a opção da caixa, ele abre sempre a mesma pagina ("home.php?load=paginaHP") e eu queria que ao escolhe "Aser" abrir uma pagina por exemplo (home.php?load=paginaAcer) e ao carregar em "Hp" abrir ("home.php?load=paginaHP") e assim 🙂 obrigada pela ajuda 😛 Link to comment Share on other sites More sharing options...
TheDark Posted June 16, 2008 at 10:59 PM Report Share #191585 Posted June 16, 2008 at 10:59 PM lol, desculpa lá mas isso é simples concatenação de strings. Estás a receber a parte variável do url que queres alterar como parâmetro da função loadrecord. É só concatenares a parte fixa à variável que recebes. Se tens aquele código todo em PHP e JavaScript e não sabes o que fazer, algo de muito errado se passa... Desaparecido. Link to comment Share on other sites More sharing options...
anuska Posted June 17, 2008 at 12:19 PM Author Report Share #191630 Posted June 17, 2008 at 12:19 PM lol, desculpa lá mas isso é simples concatenação de strings. Estás a receber a parte variável do url que queres alterar como parâmetro da função loadrecord. É só concatenares a parte fixa à variável que recebes. Se tens aquele código todo em PHP e JavaScript e não sabes o que fazer, algo de muito errado se passa... Sim.. não sei fazer 😛🙂  podes-me por favor dizer exactamente como fazer? pff 😛 esse código foi o meu professor que mostrou na aula e depois disse "Façam!! conta pra nota" obrigada Link to comment Share on other sites More sharing options...
Solution TheDark Posted June 17, 2008 at 01:51 PM Solution Report Share #191649 Posted June 17, 2008 at 01:51 PM Não te vou dar a resposta assim de borla 🙂 Lê isto, pelo menos até ao fim da secção "The Add By Value Operator". Deve dar-te uma ideia do que precisas 😛 Depois se ainda precisares, volta aqui. Se o professor fez isso sem dar uma ideia de como se faz, devia levar uma traulitada... Desaparecido. Link to comment Share on other sites More sharing options...
anuska Posted June 17, 2008 at 02:23 PM Author Report Share #191664 Posted June 17, 2008 at 02:23 PM desculpa mas nao sei, nao percebo 😛 :S o prof nao explica mesmo nada :S Link to comment Share on other sites More sharing options...
TheDark Posted June 17, 2008 at 02:51 PM Report Share #191668 Posted June 17, 2008 at 02:51 PM Concatenação é feita com o operador + . É o que está a explicar no link que mostrei no post acima. É fazeres "home.php?load=pagina" + record. E mais não digo. Desaparecido. Link to comment Share on other sites More sharing options...
anuska Posted June 17, 2008 at 03:28 PM Author Report Share #191675 Posted June 17, 2008 at 03:28 PM 🙂😄 obrigada TheDark obrigada mesmo, ja funciona 😛 obrigada bj Link to comment Share on other sites More sharing options...
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