/ / Impossible d'accéder à l'élément de formulaire dans IE car il «n'est pas défini». Fonctionne bien dans FF et Chrome - javascript, html, formulaires, cross-browser

Impossible d'accéder à l'élément de formulaire dans IE car il n'est pas défini. Fonctionne bien dans FF et Chrome - javascript, html, formulaires, navigateur croisé

C'est étrange car je n'obtiens qu'une seule erreur dans IE: "sTime est indéfini". STime est l'ID de l'un des nombreux éléments d'entrée de mon formulaire. Tout fonctionne bien dans Chrome et FF. Voici un lien vers le code:

http://la.truxmap.com/sched.html

et le formulaire html:

<form id="addNewTruck" class="updateschedule" action="javascript:sub(sTime.value, eTime.value, lat.value, lng.value, street.value);">

<b style="color:green;">Opening at: </b>
<input id="sTime" name="sTime" title="Opening time" value="Click to set opening time" class="datetimepicker"/>

<b style="color:red;">Closing at: </b>
<input id="eTime" name= "eTime" title="Closing time" value="Click to set closing time" class="datetimepicker"/>

<b style="color:blue;">Address: </b>
<input type="text" name="street" id="street" class="text street" autocomplete="off"/>
<input id="submit" class="submit" style="cursor: pointer; cursor: hand;" type="submit" value="Add new stop"/>
<div id="suggests" class="auto_complete" style="display:none"></div>
<input type="hidden" name="lat" id="lat"/>
<input type="hidden" name="lng" id="lng"/>
<input type="hidden" value="CA" name="state" id="state" class="text state" />

Merci de votre aide!

Réponses:

3 pour la réponse № 1
  • Essayez de mettre le JavaScript dans le onsubmit événement plutôt que action

  • Adressez-vous aux éléments de formulaire de manière moins ambiguë dans le JS, par exemple en utilisant this.elements.sTime. Il se peut que le nom de l'élément soit utilisé ailleurs dans le document.


0 pour la réponse № 2

L'action Javascript sous forme devrait bien fonctionner. Vous devriez peut-être utiliser à la place de sTime.value le suivant:

document.forms[0].sTime.value

Bien sûr, cela signifie que ce formulaire est le premier de votre page (sinon vous devez changer ...forms[0]... dans ...forms["formname"]... ou ...forms[<form index>]...)