begin process at 2012 05 30 20:50:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Web 2.0

 > 

Ajax

 > 

Focus sur un champ en ajax


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Focus sur un champ en ajax

mercredi 2 avril 2008 à 17:16:38 | Focus sur un champ en ajax

amateurjava

Bonjour,

le cas de figure est le suivant :

J'ai un <div >à l'interieur d'une page qui est dans un premier temp style.visibility="hidden";
J'affiche une page formulaire dans ce div avec un script ajax :
....
 xhr_object.onreadystatechange = function() {
       if(xhr_object.readyState == 4) {
         document.getElementById('<DIV>').innerHTML = xhr_object.responseText; 
}
.....
tout se passe bien

Le pb, c'est que je dois donner le focus sur un champ de ce formulaire.
donc j'ai incorporé un script (document.getElementById('nomdemonchamp').focus(); aprés avoir rechargé la page.
Or cela fonctionne au premier chargement du formulaire, mais ensuite le focus ne se fait plus.
Par contre, si je change la page et que je reviens dessus, ça refonctionne.

Comment faire.
Merci de votre aide


Faites vous plaisir !!
mercredi 2 avril 2008 à 18:49:44 | Re : Focus sur un champ en ajax

nicomilville

Membre Club
ça dépend d'ou tu a placé ton script, serai il possible de voir le script ???

Si t'a besoin d'aide, MP !!!

jeudi 3 avril 2008 à 09:07:46 | Re : Focus sur un champ en ajax

amateurjava

Le script qui remplis le div :
function afficher_client(url){
 document.getElementById('contenu_client').style.visibility="visible";
 var xhr_object = null;
  if(window.XMLHttpRequest) // Firefox
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // Internet Explorer
       xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else { // XMLHttpRequest non supporté par le navigateur
       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
       return;
    }


 xhr_object.open('GET',url, true);
 xhr_object.onreadystatechange = function() {
       if(xhr_object.readyState == 4) {
         document.getElementById('contenu_client').innerHTML = xhr_object.responseText; 
   donner_focus('clt_nom');
           }
   
               }
 xhr_object.send(null);
}

Le script de focus :

function donner_focus (chp){
 document.getElementById(chp).focus();
}

Sachant que quand on ferme le div, on fait uniquement :
document.getElementById('contenu_client').style.visibility ="hidden";

Je penses que c'est ce qui fait que le script ne fonctionne qu'une fois, puisque la page est déjà chargée dans le div...
Pourtout en relançant le script, cela devrait recharger une nouvelle fois la page.

Faites vous plaisir !!

vendredi 25 avril 2008 à 09:16:13 | Re : Focus sur un champ en ajax

nicomilville

Membre Club
ba je ne vois pas ou est le pb, sinon, si tu veus donner le focuse a ton div toute les x secondes fais un setInterval ou un setTimeOut, c'est beaucoup plus simple !!!

Si t'a besoin d'aide, MP !!!

vendredi 25 avril 2008 à 09:27:12 | Re : Focus sur un champ en ajax

amateurjava

Réponse acceptée !
Je te rassure depuis le temp j'ai trouvé..
Lorsque je fermais le div je faisais document.getElementById('contenu_client').style.visibility="hidden";
donc en fait la page restait tjs affichée mais pas visible, donc pas de reload de la page
(je pensais que le reload se faisait quand même puisque j'appelait la page à se charger avec document.getElementById('contenu_client').innerHTML = xhr_object.responseText, mais le serveur étant malin, il ne la rechargeait pas car elle était deja affichée mais invisible)
par contre je ne m'explique pas que malgré tout, même si la page était affichée et qu'il n'y avait pas de reload, l'instruction de focus ne fonctionnait pas...

Donc pour contourner, j'ai fait, avant la fermeture,
document.getElementById('contenu_client').innerHTML='vide.php'; (vide.php étant une page vide).

Donc quand je réaffiche ma page, je fais un réel reload, donc le focus marche.

Faites vous plaisir !!
vendredi 25 avril 2008 à 11:04:32 | Re : Focus sur un champ en ajax

nicomilville

Membre Club
ok, merci d'avoir mis la réponse et merci de la mettre en réponse accèpté, merci !!!

Si t'a besoin d'aide, MP !!!



Cette discussion est classée dans : page, formulaire, champ, focus, ajax


Répondre à ce message

Sujets en rapport avec ce message

update champ + rechargement de la page dans un formulaire [ par atomik29 ] Bonjour a tous,Voici mon probleme : J'ai un formulaire dans lequel je recupere une valeur precise de ma table dans un champ texte et je voudrai que lo faire un champ de formulaire comme une page word [ par cobra176 ] bonsoir a tous je recherche le moyen de faire la même chose que la fonction qui permet de faire les messages.de centrer le textede mettre des images.j Validation d'un formulaire sur une autres pages [ par Alex5512 ] Bonjour.Je suis en pleine création d'un site internet.J'ai mis en place un formulaire très simple sur la page map_perso.php<input name Probleme AJAX - Lightbox [ par krolenain ] Salut tout le monde,Petite question parce que là je galère un peu et j'ai peur qu'il n'y ait pas de solutions.Je suis en train de faire une page de di Creer sur la meme page un formulaire de recherche fixe... et les resultas de la recherche [ par essila ] bjr j'espere que j'arriverais a me faire comprendre, j'aimerais creer ceci: sur une meme page: en haut le formulaire de recherche qui est fixe et en b Calculer des champs dans un formulaire? [ par rebelor91 ] Bonjouroila je fais un formulaire où je récupère ma liste d'articles (table mysql) et je met dans mon formulaire en fin de ligne de chaque article un Formulaire - case cochée => nouveaux champs [ par corambe ] Bonjour à tous,J'ai créé un formulaire de réservation de randonnées sur mon site ( www.corambe.com/randos/réservation.html ).Je voudrais le modifier, Récupérer du code html saisie dans un input [ par coba5 ] Bonjour,J'aimerai qu'un visiteur insere le lien d'une vidéo dans un formulaire, qu'il clique sur le bouton inserer la vidéo et que la vidéo s'affiche AJAX et variable PHP [ par aminosgrp ] Bonjour ! Ben ! Je suis en problème de puis un bon moment, comme j'essai d'affecter une valeur d'une a une variable PHP sans faire recharger la page. aide page membres [ par sylveur ] bonjour a tous, j'expose mon problème.je cherche a crée un formulaire qui permet, après avoir mi un login et mot de passe,se diriger ver une page, mem


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,214 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales