Bonjour à tous,

je suis depuis quelque temps sur un problème que je n'arrive pas à résoudre..
Je m'explique :

Ma fonction javascript permet d'afficher des balises input avec leurs valeurs dans un tableau de modification/ajout/suppression. Cependant je cherche à limiter une balise input de type number à un certain maximum selon le nombre de valeurs dans ma table.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
function modifier(id,i){
 
	var table = document.getElementById('tableau_competence');
 
	var module = document.getElementById('module'+i),
	module_value = document.getElementById('module'+i).innerHTML; 
	module.innerHTML = '<input name="module" id="modulee'+i+'" type="text" size="10"  value='+module_value+' disabled/>';
 
	var ordre = document.getElementById('ordre'+i);
	ordre_value = document.getElementById('ordre'+i).innerHTML;
	ordre.innerHTML = '<input name="ordre" id="ordree'+i+'" type="number"  min="1" max="'+//recherche_max(module_value)//+'" size="10" value="'+ordre_value+'"/>';
Je cherche donc à insérer dans l'attribut max , ma fonction ajax qui est censé me retourner la valeur désiré.
Fonction Ajax :
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 recherche_max(id_module)
{
XMLhttp=new XMLHttpRequest();
var data = 'recherche_max=' +true+ '&id=' +id_module;
 
XMLhttp.open("POST","traitement_competence.php",true);
XMLhttp.onreadystatechange=function()
  {
  if (XMLhttp.readyState==4 && XMLhttp.status==200)
    {
		var maximum=XMLhttp.responseText;
	}
  }
XMLhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLhttp.send(data);
return(maximum);
}
ma fonction php qui traire la requete est la suivante :

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
19
20
21
22
23
24
25
26
27
 
try {
 
 
		if(isset($_POST['recherche_max']) && isset($_POST['id']) && !empty($_POST['id'])){
 
			$id_module=$_POST['id'];
 
			// Connect and create the PDO object
			$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
			$conn->exec("SET CHARACTER SET utf8");      // Sets encoding UTF-8
 
			// Delete rows in "sites", according to the value of "category" column
			$sql = "SELECT MAX(comp_ordre) FROM competence WHERE comp_module = '".$id_module."'";
 
			$result = $conn->query($sql);
			while($row = $result->fetch(PDO::FETCH_NUM)) {
				$maximum=$row['0'];
				echo $maximum;
 
			}
		}
 
		$conn = null;        // Disconnect
	} catch(PDOException $e) {
		echo $e->getMessage();
	}
La requete est opérationnel, j'affecte donc l'unique valeur retournée dans $maximum et j'aimerais la retourner à ma fonction js afin que l'attribut max soit initialisé à cette valeur.

J'espere que j'ai été clair, je vous remercie déjà de regarder ce soucis, et de vos réponses qui m'éclaireront certainement sur les solutions possibles à ce pronlème.

Cordialement,
Florian.