Załóżmy, że mam standardowy kod dostępny w internecie:
<html> <head> <script type="text/javascript"> function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getuser.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onchange="showUser(this.value)"> </select> </form> <br /> </body> </html>
getuser.php
<?php $q=$_GET["q"]; if (!$con) { } $sql="SELECT * FROM user WHERE id = '".$q."'"; echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> <th>Hometown</th> <th>Job</th> </tr>"; { } ?>
Do kodu wczytywanego przez AJAX dodaje:
<select name="lista2" onchange="alert('dadad')">
Wszystkie się pięknie ładuje, natomiast nie działa wczytany kod JS. Po prostu nie wyskakuje alert.
Jak zrobić, aby wczytany kod JS działała poprawnie? Dodam, że kod z select będzie również wczytywać tekst z plików PHP do pola pobranego razem z wywoływaczem, czyli nie działającym select-alert.