Bonjour
Voici mon problème, j'utilise un script qui affiche dans un select la ville quand le code postal est saisi.
Le script marche très bien sous firefox mais ne marche pas sous IE.
Regardez le code :
Code Javascript :
<script type="text/javascript">
function Ajx()
{
var request = false;
try
{request = new ActiveXObject('Msxml2.XMLHTTP');}
catch (err2)
{ try { request = new ActiveXObject('Microsoft.XMLHTTP');}
catch (err3) {
try {request = new XMLHttpRequest();}
catch (err1) {request = false;}
}
}
return request;
}
function getphpelementid(elementid,url,endvar)
{
var xhr = Ajx();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200) {
if(xhr.responseText == "deco"){
deco();
}else{
document.getElementById(elementid).innerHTML = xhr.responseText;
}
}else{
document.getElementById(elementid).innerHTML = "<font color=\"#FF0000\">Error code " + xhr.status + "</font>";
}
}
};
xhr.open("GET", url + endvar, true);
xhr.send(null);
}
function selectcp()
{
//alert('plop');
var cp = document.getElementById('codepostal').value;
//on ne teste qu'à partir de deux caracteres
if (cp.length > 1)
{
getphpelementid("ville","../function2.php?cp=",cp);
}
}
</script>
et mon code function2.php
Code PHP :
<?
session_start();
include "config.inc.php";
$result=mysql_query("SELECT ID,City FROM GeoPC_FR WHERE ZIP LIKE '".mysql_real_escape_string($_GET['cp'])."%' ORDER BY City");
while ($row=mysql_fetch_row($result))
{
echo "\n<option value=\"".$row[0]."\">".$row[1]."</option>";
echo "$cp";
}
?>
pour afficher apres c'est ça :
Code HTML :
<input type="text" name="codepostal" id="codepostal" onkeyup="selectcp();"/>
<select name="ville" id="ville">
</select>
quelqu'un peut m'aider ?
merci a vous
steph