Page 1 sur 2
Un essai avec JQuery
Posté : 15 déc. 2010, 03:00
par Fredy07
Bonjour,
J'ai pratique un tuto des commentaires, je l'ai teste en local separe (des fichiers du commentaire seulement), mais quand je l'ai integre au site, il m'envoi au url:
index.html?name=&gender=1&email=&comment=&captcha=&Send=Envoyer
Sachant que j'utilise des pseudo frames ainsi qu'une reecriture URL.
Le code entre les balise head:
<script src="JS/jquery.js" type="text/javascript"></script>
<!-- envoyer des messages commentaires -->
<script type="text/javascript">
$(function()
$("#formCom").submit(function() // recuperer la soumission du formulaire formCom, lorskon soumet on lance la fonction
{
alert("test");
});
});
</script>
</head>
<form method="POST" action="#" id="formCom">
<table width="600" border="1">
// mon formulaire se place ici
</table>
</form>
Merci pour votre aide
Re: Un essai avec JQuery
Posté : 15 déc. 2010, 22:02
par devlop78
C'est quoi le problème ? Et je n'ai rien compris à tes phrases.
Re: Un essai avec JQuery
Posté : 17 déc. 2010, 04:00
par Fredy07
C'est quoi le problème ? Et je n'ai rien compris à tes phrases.
Normalement je dois envoyer le formulaire et ca doit m'afficher une alerte "test", en revanche, il me renvois a l'URL avec toutes les variables du formulaire.
Re: Un essai avec JQuery
Posté : 17 déc. 2010, 22:12
par devlop78
Oui. Ton clavier possède des touches pour mettre des accents. Tu peux les utiliser :p
Concernant ton problème, déjà il faudrait annuler l'envoi du formulaire. Donc à la fin, mettre return (false);, par exemple
Ensuite, s'il ne lance de toutes façons pas l'alert(), c'est un problème de JS. On peut dire plein de cochenneries sur IE, avec lui, tu l'aurais tout de suite vu. Bref.
Je vois déjà que ta syntaxe n'est pas cohérente, et plus, il manque une accolade.
$(function()
$
A toi de voir laquelle est la bonne ;p
Re: Un essai avec JQuery
Posté : 18 déc. 2010, 03:22
par Fredy07
Oui. Ton clavier possède des touches pour mettre des accents. Tu peux les utiliser :p
Malheureusement non, je dispose un clavier QWERTY.
Ensuite, s'il ne lance de toutes façons pas l'alert(), c'est un problème de JS. On peut dire plein de cochenneries sur IE, avec lui, tu l'aurais tout de suite vu.
Je l'ai teste sous FF, IE, Opera et Safari.
Je vois déjà que ta syntaxe n'est pas cohérente, et plus, il manque une accolade.
A toi de voir laquelle est la bonne ;p
<script type="text/javascript">
$(function(){
$("#formCom").submit(function() // recuperer la soumission du formulaire formCom, lorskon soumet on lance la fonction
{
alert("test");
return false;
});
//return false;
});
</script>
et ca marche toujours pas
Re: Un essai avec JQuery
Posté : 18 déc. 2010, 14:00
par devlop78
For example, consider the HTML:
Code : Tout sélectionner
<form id="target" action="destination.html">
<input type="text" value="Hello there" />
<input type="submit" value="Go" />
</form>
<div id="other">
Trigger the handler
</div>
The event handler can be bound to the form:
Code : Tout sélectionner
$('#target').submit(function() {
alert('Handler for .submit() called.');
return false;
});
pourtant, comme tu le vois, ça devrait marcher. Essai de remplacer action="#" par action="?"
Re: Un essai avec JQuery
Posté : 19 déc. 2010, 04:21
par Fredy07
For example, consider the HTML:
Code : Tout sélectionner
<form id="target" action="destination.html">
<input type="text" value="Hello there" />
<input type="submit" value="Go" />
</form>
<div id="other">
Trigger the handler
</div>
The event handler can be bound to the form:
Code : Tout sélectionner
$('#target').submit(function() {
alert('Handler for .submit() called.');
return false;
});
pourtant, comme tu le vois, ça devrait marcher. Essai de remplacer action="#" par action="?"
Merci devlop78, mais ca marche toujours pas
Re: Un essai avec JQuery
Posté : 19 déc. 2010, 16:05
par devlop78
jQuery est bien lancé ? Que dit la console d'erreur de Firefox (CTRL+MAJ+J)
Re: Un essai avec JQuery
Posté : 20 déc. 2010, 03:32
par Fredy07
jQuery est bien lancé ? Que dit la console d'erreur de Firefox (CTRL+MAJ+J)
J'ai refais le code, apparement c'est le cache navigateur qui me renvoyait toujours la meme erreur, j'ai redemarre le PC, et ca marche, merci devlop78.
Je voudrais valider le formulaire avec du PHP & JQuery:
$("#envoyer").click(function()
{
if ($("#nom").val() == "" ) { // si le nom est vide
$("#nom").css("border-color", "red"); // mettre les bordures en rouge
$("#showerrors").fadeIn().html("<b>Veuillez entrer votre nom!</b><br>"); // afficher le message en fadeIn
}
});
if($nom == '') {
echo 'Veuillez entrer votre nom!';
}
Comment faire pour valider les champs en PHP et transmettre cette validation vers JQuery, par exemple, dans ma partie de code, je veux en meme temps mettre les bordures en rouge, et afficher le message en fadeIn.
Merci
Re: Un essai avec JQuery
Posté : 20 déc. 2010, 20:59
par AB
pourtant, comme tu le vois, ça devrait marcher. Essai de remplacer action="#" par action="?"
...juste au passage, entre les deux syntaxes, action="#" est plus propre que action="?"
Re: Un essai avec JQuery
Posté : 21 déc. 2010, 03:51
par devlop78
pourtant, comme tu le vois, ça devrait marcher. Essai de remplacer action="#" par action="?"
...juste au passage, entre les deux syntaxes, action="#" est plus propre que action="?"
J'avoue, c'est mon tord, ne pas savoir la réaction du navigateur avec action="#". Perso, j'utilise souvent Ajax avec un support non javascript, donc avec de vraies pages. Et lorsque c'est full javascript, je mets juste <form></form>, et encore, je me suis plusieurs fois posé la question de savoir si c'était vraiment utile avec $("#mon_champ").val()
Re: Un essai avec JQuery
Posté : 21 déc. 2010, 03:54
par devlop78
Là je dirais, qu'il y a deux écoles, si l'on veut. Soit on contrôle en JS + en Php, ce qui réduit considérablement les charges serveurs, mais augmente les charges de développement ; soit on envoit tout à Php et on contrôle tout par php. Dans tous les cas, on utilise Ajax pour envoyer les données à Php, Php contrôle et renvoie, au choix, soit une valeur texte (que l'on interpretra par exemple si l'on le précède de certains caractères comme un message de succès, et comme d'autres, d'une message d'erreur), ou d'un JSON (le premier élément était un booléan : soit erreur, soit ok, le deuxième, le message), ou XML dans le même style. Là, tout est discutable.
jQuery est bien lancé ? Que dit la console d'erreur de Firefox (CTRL+MAJ+J)
J'ai refais le code, apparement c'est le cache navigateur qui me renvoyait toujours la meme erreur, j'ai redemarre le PC, et ca marche, merci devlop78.
Je voudrais valider le formulaire avec du PHP & JQuery:
$("#envoyer").click(function()
{
if ($("#nom").val() == "" ) { // si le nom est vide
$("#nom").css("border-color", "red"); // mettre les bordures en rouge
$("#showerrors").fadeIn().html("<b>Veuillez entrer votre nom!</b><br>"); // afficher le message en fadeIn
}
});
if($nom == '') {
echo 'Veuillez entrer votre nom!';
}
Comment faire pour valider les champs en PHP et transmettre cette validation vers JQuery, par exemple, dans ma partie de code, je veux en meme temps mettre les bordures en rouge, et afficher le message en fadeIn.
Merci
Re: Un essai avec JQuery
Posté : 21 déc. 2010, 04:22
par Fredy07
Là je dirais, qu'il y a deux écoles, si l'on veut. Soit on contrôle en JS + en Php, ce qui réduit considérablement les charges serveurs, mais augmente les charges de développement ; soit on envoit tout à Php et on contrôle tout par php. Dans tous les cas, on utilise Ajax pour envoyer les données à Php, Php contrôle et renvoie, au choix, soit une valeur texte (que l'on interpretra par exemple si l'on le précède de certains caractères comme un message de succès, et comme d'autres, d'une message d'erreur), ou d'un JSON (le premier élément était un booléan : soit erreur, soit ok, le deuxième, le message), ou XML dans le même style. Là, tout est discutable.
Alors la je me suis bien trouble, en bref, j'aimerais controler les champs avec du PHP et afficher le resultat (erreur ou succes) en animation fadeIn par exemple.
Re: Un essai avec JQuery
Posté : 21 déc. 2010, 07:17
par Fredy07
J'ai teste ce code, mais ca ne retourne rien, de plus le console d'erreur n'affiche aussi rien:
<head>
<script src="jquery.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
$(document).ready(function(){
$("#Send").click(function() // quand on click sur Send on demarre notre fonction
{
$("#Send").hide();
pseudo = $(this).find("input[name=pseudo]").val();
$.post = ("testload2.php",
{pseudo: pseudo},
function(data)
{
alert(data);
});
return false;
});
});
</script>
</head>
<body>
<span name="displayhere" id="showerrors"></span>
<form method="POST" action="#">
<input type="text" name="pseudo" id="pseudo" value="" class="Input01" />
<input type="submit" name="Send" value="envoyer" class="Input01" id="Send" />
</div>
</form>
testload2.php:
<?php
print_r($_POST);
?>
Re: Un essai avec JQuery
Posté : 21 déc. 2010, 21:05
par devlop78
$.post() est une méthode, pas une variable. Donc pas $.post = mais $.post (...);
Regarde sur Goooooooogle "$.post jquery"