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.
Je cherche donc à insérer dans l'attribut max , ma fonction ajax qui est censé me retourner la valeur désiré.
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+'"/>';
Fonction Ajax :
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 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); }
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.
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(); }
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.
Partager