[AJAX] Affichage de résultat sous Firefox
Bonjour
Je rencontre actuellement un problème avec l'affichage de résultat sous Firefox.
Avec IE 6, il n'y a pas de problème
Voici le code de ma page ajout.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
body {
font-family: Trebuchet MS;
color: black;
}
.input_nu {
border: none;
}
</style>
<script type="text/javascript">
function getXhr()
{
if(window.XMLHttpRequest){ // Firefox et autres
xhr = new XMLHttpRequest();
}
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1) {
xhr = null;
}
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
}
return xhr;
}
function generer()
{
var xhr = getXhr();
var sel_type = document.getElementById('list_type');
var id_type = sel_type.options[sel_type.selectedIndex].value;
var sel_dom = document.getElementById('list_dom');
var id_dom = sel_dom.options[sel_dom.selectedIndex].value;
xhr.open("POST", "generer.php", true);
xhr.onreadyStatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
var resultat = xhr.responseText;
var div = document.getElementById("nom_doc");
div.innerHTML = resultat;
//document.getElementById("nom_doc").value = resultat;
}
}
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("id_type="+id_type+"&id_dom="+id_dom);
}
</script>
<?php
// Paramètres de connexion à la base de données
include("../script/wc.inc");
$connexion = @mysql_connect($host,$us,$pass)
or die ("Connexion au serveur impossible : Vérification du USER et/ou MPD");
$db = mysql_select_db($database,$connexion)
or die ("Connexion de la base impossible");
$type="SELECT type, libelle
FROM type";
$dom="SELECT domaine, libelle
FROM domaine
ORDER by libelle";
?>
</head>
<body>
<form method="POST" name="ajout_doc" action="ajout.php">
<table>
<tr>
<td>
Veuillez sélectionner le type
</td>
<td>
<select size="1" name="list_type" id="list_type" onchange="generer()">
<?php
$result_type = mysql_query($type) or die ("Echec d'execution de la recherche $type");
while($aff_result_type=mysql_fetch_row($result_type))
{
echo"<option value='$aff_result_type[0]'>$aff_result_type[1]</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>
Veuillez sélectionner le domaine
</td>
<td>
<select size="1" name="list_dom" id="list_dom" onchange="generer()">
<?php
$result_dom = mysql_query($dom) or die ("Echec d'execution de la recherche $dom");
while($aff_result_dom=mysql_fetch_row($result_dom))
{
echo"<option value='$aff_result_dom[0]'>$aff_result_dom[1]</option>";
}
?>
</select>
</td>
</tr>
</table>
<br>
<fieldset style="width: 200; height: 40; padding: 5;">
<legend>Nom du document</legend>
<div id="nom_doc">
</div>
<!--<input type="text" size="15" name="nom_doc" id="nom_doc" class="input_nu">-->
</fieldset>
<br>
Veuillez sélectionner le fichier a chargé
<br>
<br>
<input type="file">
<br>
<input type="submit" value="Ajouter" name="ajouter"><input type="reset" value="Effacer" name="Effacer">
</form>
</body>
</html> |
Pour information
J'ai essayé plusieurs méthodes pour afficher le résultat mais sans succès, à la place du <div id="nom_doc"></div> j'avais mis <input type="text" size="15" name="nom_doc" id="nom_doc" class="input_nu"> (ligne en commentaire) et à la place du var div = document.getElementById("nom_doc"); div.innerHTML = resultat; j'avais mis document.getElementById("nom_doc").value = resultat;(ligne en commentaire)
Maintenant, le code de ma page generer.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| <?php
header('Content-type: text/html; charset=iso-8859-1');
// Déclaration de variable
if(isset($_POST["id_type"])) $val1 = $_POST["id_type"];
if(isset($_POST["id_dom"])) $val2 = $_POST["id_dom"];
$tmp_val3='';
$val3='';
// Paramètres de connexion à la base de données
include("../script/wc.inc");
$connexion = @mysql_connect($host,$us,$pass)
or die ("Connexion au serveur impossible : Vérification du USER et/ou MPD");
$db = mysql_select_db($database,$connexion)
or die ("Connexion de la base impossible");
$generer="SELECT bd.numero
FROM bd
WHERE bd.type='$val1'
AND bd.domaine='$val2'";
$result_generer = mysql_query($generer);
while($aff_result_generer=mysql_fetch_row($result_generer))
{
$val3=$aff_result_generer[0];
}
if ($val3<>'')
{
$val3++;
$tmp_val3=strlen($val3);
switch ($tmp_val3)
{
case 1 :
$val3 = '00'.$val3;
break;
case 2 :
$val3 = '0'.$val3;
break;
case 3 :
$val3;
break;
}
echo"$val1$val2$val3";
}
else
{
$val3='001';
echo"$val1$val2$val3";
}
?> |
Firebug ne remonte aucune anomalie, au contraire le résultat est juste mais impossible de l'afficher.
J'espère avoir été clair dans mes explications
D'avance, je vous remercie pour votre aide
boucamleg