souci ajax sur un submit

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : souci ajax sur un submit

Re: souci ajax sur un submit

par Berzemus » 06 sept. 2011, 09:49

Tu peux aussi utiliser firebug, qui va t'afficher tout le comportement de la page. Tu verras bien s'il la recharge ou s'il fait une requête asynchrone.

Ceci dit, sans avoir un œil sur la partie JS, difficile de t'aider.

Re: souci ajax sur un submit

par macgawel » 06 sept. 2011, 09:40

Bonjour.

Je n'ai pas regardé ton code - trop de code et JS utilise une librairie.

Pour voir si tu recharge ta page, tu peux - par exemple - afficher l'heure en PHP.

souci ajax sur un submit

par cdog » 18 août 2011, 00:45

bonsoir,
J'ai un formulaire de commentaires que j'envoie dans ma bdd (mysql)
il s'envoie bien, pas de souci, sauf que je n'arrive pas à déterminer si il recharge la page (ne prends pas en compte la partie ajax) ou si il remonte en haut de page pour une autre raison.

Du fait que je n'utilise pas d'ancres, j'ai tendance à pensé que s'il remonte en haut de page au clic sur le submit, c'est qu'il recharge la page... ?
le code:
page du form
	<script type="text/javascript" src="./elements2/news/comment/mootools1.3.2.js"></script>
	<script type="text/javascript" src="./elements2/news/comment/script.js"></script>
[...]

<p><b>Ajoute un commentaire:</b></p>

<form method="post" action="news.php?lang=fr&url=<? echo $newsurl; ?>" id="monForm" enctype="application/x-www-form-urlencoded" name="formulaire">
<p><b><font color="#ff0000">*</font>Pseudo :<br></b></p> 
<p>
<input type="text" name="pseudo" value="" maxlength="50" size="60">

</td>
</p>
<p><b><font color="#ff0000">*</font>E-mail :<br></b></p> 
<p> 
<input type="text" name="mail" value="" maxlength="50" size="60"></td>
</p>
<p><b><font color="#ff0000">*</font>Votre commentaire :<br></b></p> 
<p>
<textarea id="txt" name="txt" value="" rows="6" cols="50"></textarea></br>
<b>Il vous reste <font color="#ff0000"><span id="carac_reste_txt"></span></font> caractères.</b>
        <script type="text/javascript">
                <!--
                        maxlength_textarea('txt','carac_reste_txt',500);
                -->
        </script> 
 </p>
 
<p>
<input type="submit" name="Submit" value="Envoyer">
</p>
</form>
	<div id="resultat">    

[php]
<?
	if (!isset($_POST['submit']))
	{
	
$ip=$REMOTE_ADDR;

if (isset($_POST['pseudo']) AND isset($_POST['mail']) AND isset($_POST['txt'])) 
{

    if ($_POST['pseudo'] != NULL AND $_POST['mail'] != NULL AND $_POST['txt'] != NULL)

{ 
$req_create ="INSERT INTO comments (comment_idfr,comment_pseudo,comment_ip,comment_mail,comment_txtfr) 
VALUES ('$comment_idfr','$pseudo','$ip','$mail','$txt')"; 
		
	$ok=mysql_query($req_create);	
	
if ($ok){echo 'Votre commentaire a bien été ajouté !';} 
else {
echo 'Votre commentaire n\'a pu être ajouté...<br/>';
}
	
	} 
}
}
?>
[/php]

le js:

Code : Tout sélectionner

document.addEvent('domready', function(){ /* Pour effacer le contenu des champs texts sur un focus */ $$('input').each(function(el){ if(el.get('type')!=='text'){return;} var value = el.get('value'); el.addEvent('focus', function(){ if(this.get('value') == value){ this.set('value',''); } }); }); /* Pour envoyer le formulaire par ajax */ var monForm = $('monForm'); monForm.addEvent('submit', function(e){ e.stop(); monForm.set('send', { onSuccess : function(responseText, responseXML){ $('resultat').set('html', responseText); } }) monForm.send(); }); }); function maxlength_textarea(id, crid, max) { var txtarea = document.getElementById(id); document.getElementById(crid).innerHTML=max-txtarea.value.length; txtarea.onkeypress=function(){eval('v_maxlength("'+id+'","'+crid+'",'+max+');')}; txtarea.onblur=function(){eval('v_maxlength("'+id+'","'+crid+'",'+max+');')}; txtarea.onkeyup=function(){eval('v_maxlength("'+id+'","'+crid+'",'+max+');')}; txtarea.onkeydown=function(){eval('v_maxlength("'+id+'","'+crid+'",'+max+');')}; } function v_maxlength(id, crid, max) { var txtarea = document.getElementById(id); var crreste = document.getElementById(crid); var len = txtarea.value.length; if(len>max) { txtarea.value=txtarea.value.substr(0,max); } len = txtarea.value.length; crreste.innerHTML=max-len; }
Si vous pouviez m'aider à 'en sortir ce serait gentil?
Bonne soirée à toutes et tous