Problème javascript

Résolu
halaster -  
Xil Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je vous met le code, et je vous explique mon problème :p

<html>
<?
include "../config/connexion.php";
?>
<head>
<script type="text/javascript">
function ajax_test(champ)
{
if (champ.options[champ.selectedIndex].value != '')
document.getElementById('id_').innerHTML=champ.options[champ.selectedIndex].value;
else
document.getElementById('id_').innerHTML='';
}
</script>

</head>
<body>

<form action="test.php" method="post" name="facture" target="">
<table>
<select name="document_client" onchange="ajax_test(this)">
<option value="">Choisissez le document voulu</option>';
<?
$id_client=22;
$date_jour=date("Y-m-d");
$sql_docu='SELECT * FROM DOCUMENT WHERE ID_CLIENT="'.$id_client.'" AND DATE_ECHEANCE <= "'.$date_jour.'"';
$query_docu=mysql_query($sql_docu);
while($info_docu=mysql_fetch_array($query_docu)){
$ID_DOCUMENT=$info_docu[0];
$DATE_DOCUMENT=$info_docu[9];
$ID_TYPES=$info_docu[12];
$sql_type='SELECT * FROM TYPE WHERE ID_TYPE="'.$ID_TYPES.'"';
$rs_doc_type=mysql_query($sql_type);
$affich_doc_type=mysql_fetch_array($rs_doc_type);
?>
<option value="<?php echo $ID_DOCUMENT ?>"><?php echo $affich_doc_type[1]." <|> ".$DATE_DOCUMENT ?></option>
<?php
}
?>
</select>

</table>
<div="id_">

</div>
</form>
</body>
</html>


alors voila, le principe est que lorsque je sélectionne quelque chose dans ma liste déroulante, le numéro est sensé apparaitre dans le div id_ . Problème.. ca ne le fait pas. et j'avoue ne pas voir pourquoi. si quelqu'un a une idée :)

1 réponse

Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention   206
 
hello

tu t'est torturé un peu l'esprit pour rien la

document.getElementById('id_').innerHTML=champ.options[champ.selectedIndex].value;

pour recuperer l'option selectionnée d'un champ Select il suffit de passer sa valeur directement à ta fonction

<select name="document_client" onchange="ajax_test(this.value);">

<script type="text/javascript">
function ajax_test(champ)
{
if (champ != '')
{
document.getElementById('id_').innerHTML=champ;
}
else
{
document.getElementById('id_').innerHTML='';
}
}
</script>
0
halaster
 
ca ne marche pas :(
je comprend pas.. pourtant, javascript est bien activé dans le navigateur..
sur d'autre projet, mes fonctions marchent, mais la.. rien a faire ca ne veut pas.
y a t'il une autre solution ?
0
Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention   206 > halaster
 
j'avais pas fais attention, change également ton div

<div="id_">

</div>

en

<div id="id_">

</div>
0
halaster > Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention  
 
omg....
quelle erreur stupide -_- merci beaucoup, la ca fonctionne..
ya des moment je me demande si j'ai bien les yeux en face des trous :p
0
halaster > Mimiste Messages postés 1149 Date d'inscription   Statut Membre Dernière intervention  
 
sinon, j'aurai une autre question, mais c'est en utilisant ajax.
bon pour l'exemple ca ne sera pas forcément adapté, mais c'est surtout pour le principe.
voici mes pages, puis j'explique :p

page test.php

<html>
<?
include "../config/connexion.php";
?>
<head>
<script language="Javascript" src="ajax.js"/>

</head>
<body>

<form action="ajax_test.php" method="post" name="facture" target="">
<table>
<select name="document_client" >
<option value="">Choisissez le document voulu</option>';
<?
$id_client=22;
$date_jour=date("Y-m-d");
$sql_docu='SELECT * FROM DOCUMENT WHERE ID_CLIENT="'.$id_client.'" AND DATE_ECHEANCE <= "'.$date_jour.'"';
$query_docu=mysql_query($sql_docu);
while($info_docu=mysql_fetch_array($query_docu)){
$ID_DOCUMENT=$info_docu[0];
$DATE_DOCUMENT=$info_docu[9]
$ID_TYPES=$info_docu[12];
$sql_type='SELECT * FROM TYPE WHERE ID_TYPE="'.$ID_TYPES.'"';
$rs_doc_type=mysql_query($sql_type);
$affich_doc_type=mysql_fetch_array($rs_doc_type);
?>
<option value="<?php echo $ID_DOCUMENT ?>"onclick="ajax_test(<? echo $ID_DOCUMENT; ?>)" ><?php echo $affich_doc_type[1]." <|> ".$DATE_DOCUMENT ?></option>
<?php
}
echo "</select>";
?>
</table>
<div="id_">
</div>
</form>
</body>
</html>

____________________________________________________
page ajax_test.php

<?
$test=$_POST['num_doc'];
echo test;
?>

____________________________________________________

page ajax.js

function get_Xhr()
{
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if(window.ActiveXOject)
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(el)
{
xhr = null;
}
}
}
else
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest\nVeuillez le mettre à jour");
}
return xhr;
}

function ajax_test(fam6)
{
// Creation de l'objet XMLHttpRequest
get_Xhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
document.getElementById('id_').innerHTML = xhr.responseText;
}
}

xhr.open("POST",'ajax_test.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

xhr.send("num_doc="+fam6);
}
______________________________________


voila, donc le principe est le meme, pouvoir afficher le contenu de la page ajax_test.php dans le <div id="id_">
normalement avec onclick ca fonctionne, mais sinan je peux utiliser onchange comme dans l'autre exemple..
problème. ca ne fait rien :x
0
halaster > halaster
 
en fait, oubli, j'ai trouvé mon erreur :x
0