La saisie semi-automatique est une fonctionnalité des navigateurs Web permettant d'offrir à l'utilisateur la liste des valeurs précédemment saisies lorsqu'il s'apprête à saisir du texte dans un champ de saisie.

Cette fonctionnalité est par défaut :
- activée sur Firefox et Chrome,
- désactivée sur IE 6,7,8,9.

L'activation / désactivation de la saisie semi-automatique des champs de saisie dans un formulaire est paramétrée par l'utilisateur.

 

Sous Firefox : L'utilisateur doit cocher "Conserver l'historique des recherches et des formulaires"

 

 

Sous Internet Explorer : L'utilisateur doit cocher "Formulaires"

 

 

Sous Chrome : L'utilisateur doit cocher "Activer la saisie automatique pour remplir les formulaires Web d'un simple clic"

 

Programmation de la page Adélia Web 

Si l'utilisateur n'a pas activé la saisie semi-automatique dans les paramètres du navigateur, il est impossible, pour des raisons de sécurité, d'activer cette fonctionnalité directement dans une page Web par programmation.

Par contre, si l'utilisateur a activé la saisie semi-automatique il est possible de désactiver cette fonctionnalité pour un champ de saisie particulier directement dans la page Web en utilisant l'attribut autocomplete.

Exemple :

<adelia:entryfield type="ALPHA" length="15"><input type="text" name="CHS_1" id="CHS_1" size="15" maxlength="15" autocomplete="off"/></adelia:entryfield>

Il est aussi possible de désactiver cette fonctionnalité pour l'ensemble des champs de saisie se trouvant dans un formulaire particulier en utilisant l'attribut autocomplete sur le tag FORM associé.

Exemple :

<form name="MY_FORM1" id="MY_FORM1" method="post" autocomplete="off">
</form>

 

Cas particulier pour Internet Explorer (6 à 9)

IE ne gère pas correctement la sauvegarde des valeurs saisies dans les champs de saisie lorsqu'un formulaire est soumis via un événement Adélia. Pour contourner ce bug, il faut rajouter du code Javascript dans la page Adélia Web comme suit :

<head>
...
<script type="text/javascript">
<!--
function setAutocomplete()
{
	// Patch uniquement pour IE
	if (window.external && typeof(window.external.AutoCompleteSaveForm) != 'undefined')
	{
		for (var i = 0; i < document.forms.length; i++)
		{
			var objForm = document.forms[i];
			objForm.oldSubmit = objForm.submit;
			// Sous-classement de la fonction submit de chaque formulaire
			// pour declencher la sauvegarde des valeurs saisies
			objForm.submit = function () {
				window.external.AutoCompleteSaveForm(this); 
				this.oldSubmit();
			}
		}
	}
}
-->
</script>
</head>
<body onload="setAutocomplete()">
...
</body>

 

Articles connexes