Bonjour à tous,
Voici ma problématique, et j'espère que vous pourrez m'aiguiller dans l'élaboration du code.
L'idée est de checker dans un LDAP, par le nom ou son identifiant interne, si un employé existe...
Si l'employé existe, récupérer son nom et son prénom et renvoyer ses deux valeurs sur une page de formulaire d'inscription ou ses champs seraient disable.
N'étant pas très à l'aise avec l'ajax, je pense néanmoins que la réponse s'éffectuera avec.

Mon idée est la suivante ;

  • utilisé une petite modale avec un formulaire contenant un champ identifiant interne permettant de checker en ajax.
  • si mon check me renvoie TRUE, c'est là que je BLOQUE, comme puis je récupérer les données nom , prenom et identifiant pour les renvoyer en GET ou POST dans une autre page contenant un formulaire ses champs et d'autre champs supplémentaires.

Je vous remercie

$(document).ready(function() {

    function Check_User(){
            var url = ''<?= \Kernel\Router::URL('Admin/Users/Check') ; ?>"
            var form = $('#modal');

            $.ajax({
                url: url ,
                type: 'POST',
                dataType: 'JSON',
                success: function(result) {
                    if(result.success){
                        // J'utilise toastr pour un message de success
                        toastr.success('Il existe un employé avec cette identifiant');
                        // ET VOILA MON PROBLEME COMMENT PUIS JE ENVOYE LES INFORMATIONS nom prenom et identifiant
                        dans un autre formulaire ce situant sur une autre page
                    }
                }
            });
        });
});

5 réponses


Polaris
Réponse acceptée

En faite au niveau du backEnd au lieu de te renvoyer true il pourrait te renvoyer directement l'utilisateur en réponse JSON.

Une fois la réponse retournée tu peux la stocker par exemple dans le localStorage ou SessionStorage et redirigé sur la nouvelle page.
Puis sur cette nouvelle page lire dictement le localStorage .

Autre solution, une fois les informations récupérer quand tu redirige sur la page nouvelle page tu passer les informations en paramètre exemple:

/nouvellePage?profil=john-doe

Tu récupére ensuite les variable dans l'url en javascript

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
            vars[key] = value;
    });
    return vars;
}

var profill = getUrlVars()["profil"];

En javascript le seul moyen de faire passer des données d'une page a une autre c'est d'utiliser le stockage du navigateur.
Dans tous les cas ce n'est pas très sécurisé mais puisque apparament c'est juste pour pré-remplir un formulaire ça n'a pas vraiment d'importance

Salut,

Regarde du côté de la méthode jQuery reload().

Bonjour.
Si j'ai bien compris ce que vous voulez faire, je ne crois pas que ce soit possible, car vous voudriez remplir des données d'un formulaire sur un autre page que celle sur laquelle vous êtes.
Tout simplement car lorsque vous vous rendrez sur la dites pages, ellle sera générée et par conséquent les données remplies précédemment seront perdues.

Il peut générer un formulaire avec des input de type hidden (via jQuery) et trigger le submit. Par contre il ne pourra traîter les data que via le backend. Sinon beh par l'URI mais c'est pas top top niveau sécurité.

Mizzou
Auteur

La solution de polaris semble me convenir, effectivement je veux juste pré-remplir un formulaire, donc du coup passer les variables dans l´url n´est pas trop grave au niveau securite..
Je vais donc creuser cette solution, et si vous avez d´autres elements a me fournir pour avancer.. je suis preneur..
cordialement...