Hello,
J'ai une lite déroulante qui affiche une zone de texte dans un div avec un onchange. Le code html inséré dans le div est le suivant :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <form name='formSaisieRue'> <input type='text' size='40' name='saisieRue' id='saisieRue' /> <div id='saisieRue_update'></div> <input type='hidden' name='rue_id' value=''/> <input type='button' value='Ok' onclick=\"traitementsaisierue()\"> </form> <script type='text/javascript'> alert('test'); document.getElementById('saisieRue').focus(); new Ajax.Autocompleter ('saisieRue', 'saisieRue_update','autoCompRue.php', {method: 'post', paramName: 'saisieRue', parameters: 'ville=2', afterUpdateElement: getSelectionId} ); </script>
J'utilise une fonction runscript qui permet de forcer l'exécution du code javascript contenu dans des balises <script> insérées dynamiquement dans le div trouvée dans ce topic
J'aimerais que cette zone de texte reçoive le focus à son apparition et qu'elle puisse recevoir une autocomplétion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function runScript( txt){ var sJs = ""; // recuperation des scripts balises incluses var sScript = "<script[^>]*>([\\S\\s]*?)<\/script>"; var sReg = new RegExp( sScript, 'img'); var oScript = txt.match( sReg); if( oScript){ for(var i = 0; i < oScript.length; i++){ sReg = new RegExp( sScript, 'im'); // recuperation du code des scripts sJs += oScript[i].match( sReg)[1]; } try{ // execution du code eval( sJs); }catch(e){ } } }
Le alert('test') fonctionne, (donc la fonction runscript force bien l'exécution du code js contenu dans les balises script) mais le focus et l'autocompletion ne fonctionnent pas... Je ne vois pas bien pourquoi puisque quand j'affiche directement la zone de texte (sans le passage par le div) les 2 fonctionnent. (donc le code doit être bon...) Un vrai casse-tête pour moi ! Si une âme charitable veut bien m'aider![]()
Partager