Bonjour,
Sur un bouton d'enregistrement j'ai créé un script qui vérifie les données saisies sur ma page.
Cette page contient 2 onglets.
Si je suis sur l'onglet 1 lors de l'enregistrement alors que mes champs testés dans le script présents dans l'onglet 2.
j'obtiens le message d'erreur :
'document.forms.0.elements[...].options' is null or not an object
Si je suis sur l'onglet 2 lors de l'enregistrement (l'onglet des champs testés dans le script) aucun soucis.
Le script qui pose problème :
//message d'erreur
var MSGP_ZV01_ZV34_Vide='Vous avez commencé à saisir une demande de formation HORS OFFRE mais vous n’avez pas indiqué d’intitulé ou d’objectifs. Veuillez compléter la ligne ou effacer le code stage.';
var xt$='';
for(var k=0;;k++){
// boucle sur tous les champs N_ZV38IDCR00, N_ZV38IDCR00_1, ...
if (k>0) xt$='_'+k;
if (document.forms[0].elements['N_ZV38IDCR00'+xt$] == null) break;
//si le champ ZV38. contient hors offre et que champ ZV01. vide => message d'erreur
if ((document.forms [0].elements['N_ZV38IDCR00'+xt$].options[document.forms [0].elements['N_ZV38IDCR00'+xt$].selectedIndex].text == 'Hors offre') && (document.forms[0].elements['N_ZV01LBRQLG'+xt$].value=='')) return(error('N_ZV38IDCR00'+xt$,MSGP_ZV01_ZV34_Vide));
}
J'ai pensé à stocker les données saisies dans les onglets en dehors des onglets pour etre sur que le script Js les voit mais j'ai plus de 100 champs pour lesquels je devrais effectuer cette opération...
Une autre possibilité serait de prendre en compte l'onglet lors de la récupération de la donnée mais je ne sais pas encore comment faire.
Et sinon ce serait lors de l'enregistrement de placer le focus de la page sur l'onglet sur lequel j'effectue des vérifications.