Formulaire non 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 : Formulaire non submité

par Pierig » 07 août 2007, 18:47

Promis je ferait attention ma mère :oops:
Donc si à priori c'est normal que ma fonction test() ne soit pas déclenchée alors peut être que je submit bien le formulaire MAIS qu'il ne me renvoi pas ce que je veut.

Il y a un moyen d'être sur qu'on a bien submitter le bon formulaire ?

Sinon je vais chercher aussi du côté de mon code appelé par le formulaire il y a peut être une erreur dans ma classe .... ou autre ^^

mici

EDIT :


J'ai fait en sorte que tout soit dans le même formulaire du coups mon deuxième formulaire je n'essaye plus de le submitter j'ai juste du mettre un if (le_nombre != "") alors je fait la fonction avec ce paramètre en plus sinon je fait celle sans ce paramètre.
J'ai donc ajouter une fonction de plus dans ma classe ce qui la fait encore grossir et qu'elle devient encore plus inompréhensible mais bon c'est pas grave l'important c'est que ça marche... :)
mici quand même ^^

par mere-teresa » 07 août 2007, 17:59

Codez standards, svp :)

Les valeurs des attributs en HTML sont entourées de double quotes : <form action="controller">.
Pour insérer du Javascript et utiliser onsubmit (tout en minuscule svp), on mettra :
onsubmit="javascript:test();"

Voilà.

Code : Tout sélectionner

<form name='Maj_support' action='controller_principal.php' method='post' onSubmit="test()"> <input name="f_module" type="hidden" value="modifProduit"/> <input name="f_action" type="hidden" value="majsupport"/> <input name='f_numero' type="hidden" value= "<?php echo ($_POST['f_produit_id']); ?>" /> <input name="f_nombre" type="hidden" value=''/> </form>

par Ryle » 07 août 2007, 17:32

si si, c'est certain :) (pis c'est vite vu ;))
<form name="f" onSubmit="alert();">
<input type="button" onClick="this.form.submit();" value="JS" />
<input type="submit" value="HTML" />
</form>
Personnellement j'ai utilisé cela pour permettre plusieurs saisies, principallement numérique, dans un même champ (genre calculette). L'utilisateur tape ses chiffres, appuyes sur entrée ce qui déclenche le bouton submit, et l'action onSubmit dans laquelle j'empêche l'envoi du formulaire et met à jour une listbox. Je vide ensuite le champ de saisie et l'utilisateur enchaine avec la valeur suivante.

Une fois la saisie terminée, l'utilisateur cilque sur un bouton avec le .submit() qui va réellement soumettre toutes les données saisies... Bon, c'était avant de connaitre AJAX, mais même aujourd'hui, cela permet de considérablement accelérer la saisie (quand les gens sont pas habitués à utiliser la souris) tout en limitant le nombre d'appel au serveur :)

par zeus » 07 août 2007, 17:19

voire le soumettre avec document.formulaire.submit() - sachant que cela ne déclenchera pas l'action onSubmit :)
Je ne suis pas persuadé de ça :-k

par Ryle » 07 août 2007, 17:01

euh... j'ai pas tout lu mais.... faut un bouton submit (ou un type "image") pour soumettre un formulaire... :)

voire le soumettre avec document.formulaire.submit() - sachant que cela ne déclenchera pas l'action onSubmit :)

Formulaire non submité

par Pierig » 07 août 2007, 16:37

Bonjour,

J'ai un problème comme beaucoups de gens ici...
Je ne peut pas submitter ce formulaire :
<form name='Maj_support' action='controller_principal.php' method='post' onSubmit="test()">
					<input name="f_module" type="hidden" value="modifProduit"/>
					<input name="f_action" type="hidden" value="majsupport"/>
					<input name='f_numero' type="hidden" value= "<?php echo ($_POST['f_produit_id']); ?>" />
					<input name="f_nombre" type="hidden" value=''/>
					</form>

Comme vous pouvez le voir j'ai mis ceci :

Code : Tout sélectionner

onSubmit="test()"
La fonction test :

Code : Tout sélectionner

function test() { alert("submit du formulaire Maj_support"); }
Je n'ai pas d'alert donc j'en déduit que mon formulaire n'est pas submité.


Je une fonction que je mettrait plus bas avec ceci :
<dl>
					<dt onClick="javascript:montreMenu('smenu4');"><a href="#" >De nouveaux produits sont arriv&eacute;s ?</a></dt>
					<br>
						<dd id="smenu4" style="display:none">
							<span  class='input_champ'> Nombre de supports normalement disponibles : </span>
							<?php echo($_POST['f_Produit_nombre']); ?>
							<br><br>
							<span  class='input_champ'>Combien de supports sont en fait disponibles ?</span>
							<INPUT TYPE=TEXT NAME=nbr_support SIZE=2>
							<tr>
								<td colspan="4" align="center">
									<input type='image' src='images/ico_save.gif'
									onmouseover="overlib('Enregistrer');this.src='images/ico_save.gif'"
									onmouseout="nd();this.src='images/ico_save.gif'"
									onClick='MajChamps2()'/>
								</td>
							</tr>
						</dd>
					</dl>
C'est une sorte de menu "caché" qui s'ouvre lorsque l'on click sur le message "de nouveaux produits sont arrivés ?"

Donc lorsque je click ça lance la fonction MajChamps2 (cf :onClick='MajChamps2())
	 function MajChamps2()
	 {
		document.Maj_support.f_nombre.value = document.Affiche.nbr_support.value;
		alert (document.Maj_support.f_nombre.value = document.Affiche.nbr_support.value); //c'était pour voir si la fonction se lançait bien
		document.Maj_support.submit();
	 }
Et donc cette fonction devrait submitter mon formulaire "Maj_support " mais elle n'en fait rien.

Je ne trouve pas le problème :(

EDIT : ça m'envoi vers une page vide on dirait que ça submit un autre de mes formulaires... enfin je suis encore une fois bel et bien paumé ^^