IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Formulaire et ajax


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut [AJAX] Formulaire et ajax
    Bonjour,

    je suis tombé sur un site que ma surpris : http://www.visiteursblog.com/

    il permet une fois identifier de visiter des blogs avec une frame appartenant au site. Jusqu'a la rien de compliqué.

    Ce site propose de gagner des points en fonction du nombre de commentaire que tu fais sur un blog.

    La ou tout se complique c'est que ce site arrive a savoir quand tu as mis un commentaire sur un skyrock blog et donc a valider ton commentaire et te donne des points.

    Maintenant je me demande comment ceci est possible ? Apres reflexion je pense qu'il arrive a detecter si le formulaire a été envoyé non ?

    voici le script qui est utilisé :
    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 comlache(pseudo,post){
    var xhr = getXhr()
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
    if(xhr.responseText==0) {
    document.getElementById("pseudo").innerHTML='T\'as bien mis le pseudo<br />'+post+' ?<br /><a href="javascript:comlache(\''+pseudo+'\',\''+post+'\');">Oui</a> <a href="javascript:changePseudo(\''+post+'\');">Non</a> <a href="javascript:skip();">Skip</a> <a href="../aide-6.html" target="_parent" style="text-decoration:underline;">Ca marche pas !!!</a>';
    } else {
    parent.document.location='../machinakomz.php';
    }
    }
    }
    xhr.open("GET","com.php?url="+pseudo+"&pseudo="+post,true);
    xhr.send(null);
    }

    function skip() {
    if(confirm('Si tu skip ce blog tu gagneras pas de point !')) {
    var xhr = getXhr()
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
    if(xhr.responseText==1) {
    parent.document.location='../machinakomz.php';

    }
    }
    }
    xhr.open("GET","com.php?p=2",true);
    xhr.send(null);
    }
    }

    function pseudo(newPseudo) {
    var xhr = getXhr()
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
    if(xhr.responseText==0) {
    document.getElementById("pseudo").innerHTML='Erreur ! Réessaie : <input type="text" name="pseudo_com_new" id="pseudo_com_new" /><input type="submit" value="Ok !" onclick="pseudo(pseudo_com_new.value);" />';
    } else {
    location.reload();
    }
    }
    }
    xhr.open("GET","com.php?p=1&new="+newPseudo,true);
    xhr.send(null);
    }

    function changePseudo(lastPseudo) {
    document.getElementById("pseudo").innerHTML='Met ton pseudo des comm\'s :<br /><input type="text" name="pseudo_com_new" id="pseudo_com_new" value="'+lastPseudo+'" /><input type="submit" value="Ok !" onclick="pseudo(pseudo_com_new.value);" />';
    }

    function wait() {
    document.getElementById("mode").innerHTML='Vérification en cours...';
    }
    et le site valide les commentaires grace a ce liens : javascript:comlache('http://x-s0-jim-x.skyrock.com','wacha','17');


    si quelqu"un a une idée je le remercierais jamais assez car je m'arrache les cheveux !!

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    A priori pour mettre un com tu passes par leur site, il peut donc enregistrer les com que tu entres, et c'est lui qui s'occupe ensuite de transmettre le com au vrai site(skyblog dans ton exemple).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    non ce n'est meme pas ca, la page est divisé en deux avec une frame a eux et le blog de la personne. Mais les commentaires sont mis sur le blog de la personne directement et non pas sur leurs site !

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Oui mais même s'ils sont ajoutés visuellement sur le blog de la personne, il se peut que cela passe par leur site d'abord pour leur comptage. Enfin bon j'ai juste regardé rapidement.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Quelqu'un aurait il une autre idée ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Je remonte le sujet une derniere fois en esperant

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Je spécule, mais avec des options réalisables.

    1. il détecte l'url courante où tu es.
    2. il ajoute un écouteur sur le formulaire de la page. S'il n'y en a pas, il ne fait rien, il se tait.
    3. lorsque tu valides le formulaire, il l'entend et t'ajoute ton point.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    mais pourtant lorsque tu fais un commentaire sur skyrock, ca ouvre une popup tu crois qu'il peut ajouter un ecouteur sur une fenetre ouverte par ce site ?


    Et pourrais tu me detailer un peu plus cet "ecouteur" ?

    Je te remercie

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Si on a une frame contenant une page, la frame peut faire tout ce qu'elle veut sur les fenêtres que la page ouvre.

    L'écouteur (listener en anglais) est l'une des méthodes on... en HTML. Ici, le plus judicieux serait le onsubmit sur le formulaire d'envoi de commentaires.

    Je ne sais pas comment cela se passe dans les détails, je n'ai jamais posté un commentaire sur les blogs de skyrock.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    ca me paraissait une bonne idée, mais le probleme est que je n'ai pas acces justement a ce formulaire et que donc le onsubmit est impossible a utiliser...

    je suis preneur de toute idée car desepéré ^^

Discussions similaires

  1. [AJAX] Poster un formulaire avec AJAX
    Par faico dans le forum AJAX
    Réponses: 10
    Dernier message: 22/03/2010, 17h12
  2. [AJAX] Formulaire sous AJAX !!!
    Par urai1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2007, 21h36
  3. [AJAX] Formulaire en AJAX
    Par myriam.kone dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/11/2006, 13h41
  4. [AJAX] Ajax, formulaire, div et select
    Par n8ken dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/09/2006, 10h51
  5. [AJAX] Formulaire prépopuler avec du ajax dans la page
    Par shwin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo