PHP-récuperer la valeur d'un champ sans Submi

Fermé
almaje - 16 janv. 2010 à 02:18
 almaje - 21 janv. 2010 à 00:25
Bonjour,
J'aimerai récupérer la valeur d'un champ texte pour ensuite générer des listes (si j'entre 3 ça va m'afficher 3 listes juste en bas), j'ai pas de probleme pour la fonction javascrip, je voudrai seulement récuperer la valeur de mon champ directement juste après qu'elle soit tappée sans bouton ni rien.

MErci

3 réponses

Utilisateur anonyme
16 janv. 2010 à 08:33
Que la liste se modifie dès que l'on tape qqc ? Bin, si ton code est en javascript, tu met onkeyupk="tafonction();" dans le champ.
Ex : <input type='text' name='tonchamp' onkeyup="tafonctionjavascript();"/>
0
Pour expliquer un peu, j'ai une fonction en javascript "AFFICHER" qui m'affiche des listes mais en rapport du nombre que j'ai entré dans mon champ texte, le probleme c'est qu'il faut qu'on clique sur un bouton par exemple pour récuperer la valeur du champ mais je veux pas faire comme ça, je voudrai seulement que quand je saisi un nombre dans mon champ texte je clique sur afficher : <a href="#" onclik="AFFICHER("mon_obj")>afficher</a> il m'affiche juste en bas mes listes (le $nb=$_POST['nb'] ne marche pas parce qu'il faut un bouton)

J'espère que j'étais clair et merci de votre aide.
0
Utilisateur anonyme
16 janv. 2010 à 19:00
Regarde si cela pourrai te convenir (j'ai pas forcément tout compris :-)) :
http://www.editeurjavascript.com/scripts/scripts_formulaires_3_543.php
Ce script utilise AJAX, une application qui permet que javascript et le serveur (PHP) discutent XD.
A toi de l'adapter selon ce que tu veux faire !

Bonne chance !
0
voila j'ai modelé le code pour faire une fonction qui m'affiche le contenu d'un autre fichier en saisissant la valeur dans le champ text mais ça marche pas :s


test.php
<head>
<title>test 4</title>
<script src="ajax.js"type="text/javascript">
</script>
</head>

<body>
<input name="nb" type="text" id="nb" onchange="affich_seance()" />
<p>
<span id="sujet1"></span>
</p>
</body>

ajax.js
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
function affich_seance()
{
getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
// On affiche dans le span sujet1 le retour de ajaxsujet1.php
document.getElementById('sujet1').innerHTML = xhr.responseText;
}
}
// On envoie la requete a "ajaxsujet1.php"
xhr.open("POST",'ajaxsujet1.php',true);
xhr.setRequestHeader('Content-Type','applicati
on/x-www-form-urlencoded');
// On recupere la valeur de l'input ayant pour id: nb
nb = document.getElementById('nb').value;
// On envoie a ajaxsujet1 le nb recupéré
xhr.send("nb="+nb);
}

ajaxsujet1.php
<?php
if(isset($_POST['nb']))
{
$nb=$_POST['nb'];
for ($i=0;$i<$nb;$i++)
{
?>
<select name="jour<?php echo $i; ?>">
<option>Lundi</option>
<option>Mardi</option>
<option>Mercredi</option>
<option>Jeudi</option>
<option>Vendredi</option>
<option>Samedi</option>
<option>Dimanche</option>
</select>
<select name="seance<?php echo $i; ?>">
<option>8h15-9h45</option>
<option>10h-11h30</option>
<option>11h45-13h15</option>
<option>14h15-15h45</option>
<option>16h-17h30</option>
<option>17h45-19h15</option>
</select>
<?php
}
}
?>
0