Bon, c'est vachement basique comme exemple, j'utilise 3 fichiers :
remote_index.html :
Code :
- <html>
- <frameset rows="0,100%" border="0">
- <frame name="RemoteScripting" src="blank.html">
- <frame name="formulaire" src="remote.html">
- <noframes>
- <body>
- Pas de frames !
- </body>
- </noframes>
- </frameset>
- </html>
|
remote.html (celui qui contient le formulaire donc)
Code :
- <html>
- <head>
- <title>test du remote scripting</title>
- <script language="javascript">
- function TraiteReponse(valeur) {
- nouvel_element = new Option(valeur,0);
- document.fiche.titre.options[document.fiche.titre.length] = nouvel_element;
- }
- </script>
- </head>
- <body>
- <form name="fiche" action="remote.php" method="post" target="RemoteScripting">
- <select name="id" onChange="fiche.submit();">
- <option value="0">liste 1</option>
- <option value="1">liste 2</option>
- </select><br><br>
- <select name="titre">
- </select>
- </form>
- </body>
- </html>
|
et remote.php qui doit renvoyer le résultat :
Code :
- <?php
- mysql_connect('localhost','root','');
- mysql_select_db('ma_base');
- $query = mysql_query('select titre from ma_table where id_parent = '.$_POST['id']);
- $result = mysql_fetch_array($query);
- ?>
- <script language="JavaScript">
- top.formulaire.TraiteReponse('<?php echo $result['titre']; ?>');
- </script>
|
ça peut sûrement facilement s'améliorer, mais ça explique le concept : ne faire rechager par le serveur que la partie de la page qui doit être rechargée (la deuxième liste donc )
Message édité par naceroth le 03-01-2004 à 03:04:53