Form récupère info avant de faire submit

Signaler
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015
-
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
-
Bonjour,

j'essai d'envoyer un formulaire avec la method 'POST' vers une autre page pour validation. En fait cette autre page est login screen donc si les infos envoyés ne sont pas bon il y a un message d'erreur qui apparait dans cette page sinon il s'ouvre comme il se doit pour que l'utilisateur puisse faire ce qu'il doit faire.

Ma question est, est-il possible d'obtenir le résultat de l'erreur avant que (en faissant form.submit) d'envoyer le tout? Y a-t-il une facon de faire un check avec le form.submit si l'erreur est apparue?

Au besoin demandé moi j'essaie d'être un peu plus descriptif.

Merci

SpaceHamAgent

10 réponses

Bonsoir,

je pense que cela pourrais t'aider? :

function Suivant() {
if (document.frmname.idbox.value != "login") {
return true;
}
else {
alert("Saisissez le login");
return false;
}
}

Speed29
ou

function post() {
if (document.frmname.logbox.value != "loginuser") {
return true;
}
else {
alert("Saisissez le login");
return false;
}
}

pardon
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015

Juste pour être sur.

Ceci est ma function javascript qui appelle la page pour faire le check en POST. Comme j'essaie de dire il faudrait, avant de loader cette page, que je puisse vérifier si le username et password sont bon. A cet effet je voudrais pouvoir appeler en javascript un fichier PHP qui va me renvoyer un echo soit du genre 'error' ou 'ok'(si les infos sont ok)

Si je recois un ok alors je vais pouvoir ouvrir le url en question pour y entrer les informations du client.

--------------------------------------
function user_login(){
var user = document.getElementById('user');
var pass = document.getElementById('password');

var url = "update/up_login.php?username=" + user.value + "&password=" + pass.value; //url du fichier php pour en faire le check si 'ok' ou 'error'

//ICI serais le fait de vérifier si 'url' est ok ou en erreur. Si il est ok
//alors j'appelle ma function loginDirectAdmin sinon je ne fais que capter mon echo
//et j'appelle ma function qui affiche le message directement sur la page
//exemple: function err_login(msg)

loginDirectAdmin(user.value, pass.value);//Cette section appelle l'url a ouvrir)
}
-----------------------------------

Y aurait-il une facon tout simplement pour en capté le echo de mon fichier PHP que j'appellerai afin de savoir si je dois déduire a une erreur ou a un OK avant de continuer??

Merci de me revenir sur ce cas!

SpaceHamAgent
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

Bonjour,

ce que tu demande est facilement faisable via xmlhttprequest (communément appelé AJAX). Le principe est d'envoyer des valeurs via $_GET / $_POST et de récupérer le contenu. C'est assez simple surtout avec la librairie jquery.

Par exemple:
$.get("test.php", function(data) {
  alert("Data Loaded: " + data);
});


ou encore:
$.post('ajax/test.html', function(data) {
  $('.result').html(data);
});


Je te conseille de faire des tests et d'exploiter ce mécanisme pour qu'il s'adapte a ta demande. Pour plus d'infos consulte la documentation de jquery (qui remarquablement bien faite, avec de nombreux exemples...)

http://api.jquery.com/jQuery.get/
http://api.jquery.com/jQuery.post/


--------------------------
Mon blog technique: [www.codeyourweb.org www.codeyourweb.org]
HTML5 / CSS3 / JS - Intégration des technologies du web a destination des nouvelles plateformes et nouveaux usages d'internet
Merci,
Cette reponse mais aussi utiles.
Messages postés
78
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2015

Merci shadow1779...

J'ai regarder pour le post. Si je peux bien saisir, pour mon cas, c'est que je pourrais en javascript envoyé le tout a une page API directement via le POST.

d'apres ce que je voyais je pourrais faire de quoi du genre.

...
var user = "monuser";
var pass = "monpassword";

var url = "le site web qui veut le post";

$.post(url, { username: user, password: pass })
.done(function(data) {
alert("Data Loaded: " + data);
})


J'ai essayer ca puisque j'envoie le tout sur une page web API mais il ne semble pas vouloir me sortir l'alert.

Je continue des tests mais si quelqu'un a une idée je suis prêt :)

SpaceHamAgent
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

Re,

Etrange que cela ne fonctionne pas, je viens de refaire le test avec un exemple bateau et sa fonctionne. Vérifie ton code et regarde s'il ne relève pas une erreur de syntaxe, sinon base toi sur ce petit exemple: http://sdrv.ms/12YQile

Tiens moi au courant si sa fonctionne.



----------------------
Mon blog technique: [www.codeyourweb.org www.codeyourweb.org]
HTML5 / CSS3 / JS - Intégration des technologies du web a destination des nouvelles plateformes et nouveaux usages d'internet
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
Le code proposé par shadow1779 est du javascript utilisant le framework jquery. Du moins la syntaxe y ressemble fortement. Si jQuery ou le framework approprié n'est pas installé par SpaceHam, le code ne marchera pas.
Sinon il faut vérifier avec la console javascript qu'aucune erreur ne s'est produite.
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

Re,

Effectivement je ne l'avais pas mentionné car ca me paraissait logique étant donné que je citais la documentation de jQuery pour l'utilisation d'xhr mais il faut bien penser a télécharger la lib et y faire référence comme je le fais dans mon exemple avec le:

<script type="text/javascript" href="jquery.min.js"></script>


ou via une version hébergé comme:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>



Mon blog technique: [www.codeyourweb.org www.codeyourweb.org]
HTML5 / CSS3 / JS - Intégration des technologies du web a destination des nouvelles plateformes et nouveaux usages d'internet
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
Tout va bien, vous marchez droit, c'est moi qui ait posté de travers.
Pour revenir au problème de SpaceHam, vous ne donnez pas suffisamment d'informations pour que l'on comprenne où est votre problème.
1) Ne publiez pas seulement une partie du code sauf si vous êtes certain que le problème ne peut venir que de cette section.
Par exemple que fait la fonction loginDirectAdmin ? Elle ne semble pas fonctionner correctement.
2) Utiliser les balises de colorisation du langage approprié (HTML, javascript, etc) pour rendre votre texte lisible.
<script type="text/javascript" href="jquery.min.js"></script>

3) Il faudrait savoir si des erreurs javascript ont eut lieu et quels sont leur message d'erreur. Utiliser la console javascript de votre navigateur de test