je dois développer un mini site composé de pages html (pas de php ni base de données - pour des raisons trop longues à expliquer ici...)
chaque page est nommée par un code de 6 chiffres + l'extension .htm
J'ai fait un formulaire dans lequel on saisie le code 6 chiffres pour afficher la page correspondante dans un iframe (nommé frame1), via un script :
Le javascript "saisiecodes.js"
CODE
// ----------------------------------------------
// Saisie codes
// - - - - - - - - - - - - - - - - - - - - - - -
function AllerA2(form) {
i = form.ZoneSaisieCode.value+".htm";
if (i == 0) return;
parent.frame1.location.href = i;
}
// Saisie codes
// - - - - - - - - - - - - - - - - - - - - - - -
function AllerA2(form) {
i = form.ZoneSaisieCode.value+".htm";
if (i == 0) return;
parent.frame1.location.href = i;
}
Le formulaire dans la page d'accueil html :
CODE
<script>
document.write('<form name="FormSaisieCode" onSubmit="AllerA2(this);return false">');
document.write('Code : <input type="text" name="ZoneSaisieCode" size="6" onFocus="" />');
document.write('<input type="button" value="OK"');
document.write('onclick="AllerA2(this.form)">');
document.write('</form>');
// -->
</SCRIPT>
document.write('<form name="FormSaisieCode" onSubmit="AllerA2(this);return false">');
document.write('Code : <input type="text" name="ZoneSaisieCode" size="6" onFocus="" />');
document.write('<input type="button" value="OK"');
document.write('onclick="AllerA2(this.form)">');
document.write('</form>');
// -->
</SCRIPT>
Je souhaiterais pouvoir vérifier que le code saisi correspond bien à une liste de codes prédéfinis :
900125
906325
807555
xxxxxx
...
avant de renvoyer la page xxxxxx.htm
et afficher une page erreur.htm si le code saisie ne correspond a aucun code existant (je ne peux pas passer par un 404 : le "site" ne sera pas en ligne mais hors connection sur PC, donc pas de possibilité de .htaccess)
NB : je ne souhaite pas paser par une liste déroulante , mais bien par une zone de saisie (j'ai plus de 300 codes et la liste devient trop longue à afficher)
Merci d'avance à ceux qui pourront m'aider