Soumission automatique d'un formulaire autocomplete

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 : Soumission automatique d'un formulaire autocomplete

Re: Soumission automatique d'un formulaire autocomplete

par almoha » 19 sept. 2011, 18:37

Merci beaucoup. Ton code correspond à mes attentes :)

Re: Soumission automatique d'un formulaire autocomplete

par Ryle » 18 sept. 2011, 23:46

Il te suffit de comparer la valeur sélectionnée (donc à priori ui.item.value) avec la chaine que tu attends :
if (ui.item.value != 'No Results Found') {
   $("#cherche").submit();
}

Re: Soumission automatique d'un formulaire autocomplete

par almoha » 18 sept. 2011, 14:03

Bonjour,

Merci pour ta réponse. En complétant mon code Jquery, je suis parvenu à soumettre automatiquement mon formulaire autocomplete après un clic sur une proposition :
$(function() {
 
            $( "#clesearch" ).autocomplete({
                source: "scripts/autoc/dev2_search_autocomplete.php",
                minLength: 2,
 
 
				select: function (event, ui) {
					$('#clesearch_id').val(ui.item.id);
                                        $('#clesearch').val(ui.item.value);
					$("#cherche").submit();
 
                }
            });

 <form action ="" method="POST" id="cherche">
   <div class="ui-widget">
   <label for="state">Rechercher</label>
   <input type="text"   name="clesearch" id="clesearch"/> 
   <input type="hidden" id="clesearch_id" name="clesearch_id" /> 
   </div>
</form>
Mais comme je suis débutant, je n'arrive pas à conditionner la soumission avec un if , ceci pour empêcher la soumission automatique lorsque la value de l'input est égale à "No Results Found". Je ne souhaite pas de message d'alerte, simplement qu'il ne se passe rien si je clique sur la "proposition" "No Results Found".
Peux-tu m'apporter une aide complémentaire ? Merci.

Re: Soumission automatique d'un formulaire autocomplete

par Ryle » 18 sept. 2011, 11:46

Tu traites l'action du select de ta boite de suggestion pour mettre à jour l'un de tes champs. Il faut donc ensuite déclencher la soumission du formulaire :

Code : Tout sélectionner

document.getElementById('autoc').submit()
Et si tu ne veux pas le soumettre pour une valeur donnée, il te suffit de le mettre dans un if() et de tester s'il faut l'exécuter ou non :)

Soumission automatique d'un formulaire autocomplete

par almoha » 13 sept. 2011, 20:45

Bonjour,

J'utilise jquery UI Autocomplete avec ce code fonctionnel :
<script type="text/javascript">
 
$(function() {
 
            $( "#state" ).autocomplete({
                source: "dev2_search_autocomplete.php",
                minLength: 2,
 
 
				select: function (event, ui) {
					$('#state_id').val(ui.item.id);
 
 
                }
            });
 
 
        });
</script>
...
<form action ="" method="POST" id="autoc">
   <div class="ui-widget">
   <label for="state">state </label>
   <input type="text" id="state" name="state" /> 
   <input type="hidden" id="state_id" name="state_id" /> 
   <input type="submit" name="submitBtn" value="ok" />
   </div>
</form>

Au lieu d'avoir à cliquer sur le bouton submit pour soumettre mon formulaire, existe-t-il un moyen de soumettre ce formulaire automatiquement après avoir cliqué sur une proposition de l'autocomplete ?
Si oui, comment ? De plus, est-il possible de prévoir une condition : soumission automatique sauf si la proposition cliquée est égale à "No Results Found" (aucune soumission dans ce cas là) ? Merci.