Focus

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 : Focus

par Photographiquement Vôtre » 25 avr. 2006, 23:17

Encore une fois merci

par Truc » 25 avr. 2006, 21:36

Tu alignes les tests:
valide=validFormulaire_Vide(Tri,obj_tri);
valide=validFormulaire_Vide(RefPhoto,obj_refphoto);
valide=validFormulaire_Vide(Legende,obj_legende); 
donc seule la dernière valeur est prise en compte puisqu'elle ecrase le résultat des tests précédents.
valide=validFormulaire_Vide(Tri,obj_tri);
if(valide)
  valide=validFormulaire_Vide(RefPhoto,obj_refphoto);
if (valide)
   valide=validFormulaire_Vide(Legende,obj_legende); 
sinon si le 1er test renvoie "faux" et le dernier "vrai" alors le formulaire est quand même validé.

par Photographiquement Vôtre » 25 avr. 2006, 18:33

Bonjour,

Je réécrit mon message car je suis passé en Invité.

J'ai un souci quand je met quelque chose dans la zone text Legende et rien dans zones Tri et Réf Photo, j'ai bien des messages comme quoi les cases sont vides mais il me transfère sur la feuille indiquée dans le formulaire.

Merci de m'expliquer en détail ce qui ne va pas et si possible me fournir un code corrigé.

Merci d'avance

Mes fonctions
function validFormulaire_photos()  
{ 
    /* On récupère directement dans le formulaire la valeur qui a été (éventuellement) saisie */ 
    var Tri = document.forms['frmPhotosAdd'].elements['Tri'].value;
    var RefPhoto = document.forms['frmPhotosAdd'].elements['RefPhoto'].value;
    var Legende = document.forms['frmPhotosAdd'].elements['Legende'].value;

    /* On initialise une variable de retour */ 
    var valide=false ;
      
    valide=validFormulaire_Vide(Tri,obj_tri);
    valide=validFormulaire_Vide(RefPhoto,obj_refphoto);
    valide=validFormulaire_Vide(Legende,obj_legende);
    
return valide;	
 
} 


function validFormulaire_Vide(valeur,objet)  
{
var valide = false;	

if (valeur=='')
	{
	alert('La case ' +objet+ ' est Vide ');
	document.forms['frmPhotosAdd'].elements[objet].focus();
	}
else
	{
	valide = true;	
	}
return valide;		
}
Mon formulaire (début)
<form action="admin_photos_upload.php" id=frmPhotosAdd method=post name=frmPhotosAdd onsubmit="return validFormulaire_photos();">

par Invité » 24 avr. 2006, 10:18

Résolu

par Invité » 24 avr. 2006, 09:15

Bonjour,

Merci cela marche .

Si j'applique la fonction à plusieurs zones de texte, comment puis je récupérer la zone est testée pour adapter le texte de l'alert et avoir le bon focus.

Merci d'avance

par Truc » 23 avr. 2006, 23:43

Salut,

1. tu n'as pas d'extension pour le fichier de traitement "dmin_photos_upload"

2.
/* On initialise une variable de retour */
    var valide = false;
mais jamais tu ne la retourne dans cette fonction.

donc le formulaire est toujours validé

Focus

par Photographiquement Vôtre » 23 avr. 2006, 18:40

Bonsoir,

Je valide un formulaire par un ensemble de fonction JS :

Ce formulaire m'envoie sur une page
<form action="admin_photos_upload" id=frmPhotosAdd method=post name=frmPhotosAdd onsubmit="return validFormulaire_photos();">
La fonction de validation marche mais je n'arrive pas à retourner sur la page d'appel et avoir le focus de l'input faux.

Merci de votre aide
function validFormulaire_photos()  
{ 
    /* On récupère directement dans le formulaire la valeur qui a été (éventuellement) saisie */ 
    var Tri = document.forms['frmPhotosAdd'].elements['Tri'].value;
    	         
    /* On initialise une variable de retour */ 
    var valide = false;
   
    validFormulaire_Tri(Tri);
   

} 

function validFormulaire_Tri(valeur)  
{
	
var valide = false;

if (valeur=='')
	{
	
	alert('La case est vide'); 
		
	//window.location.replace('admin_photos_add.php');
	history.go(-1);
	document.forms['frmPhotosAdd'].elements['Titre'].focus();
			
	}
else
	{
	alert('La case n\'est pas vide '); 	
	valide = true;	
	
	}
return valide;		
	
}