11548 sujets

JavaScript, DOM et API Web HTML5

J'aimerai que ma variable prenne en compte deux éléments mais je ne vois absolument pas comment faire

var cal1 = new calendar1(document.forms['formulaire'].elements['date1']);



Je voudrais y ajouter .elements['date2']

Comment passer cette instruction s'il vous plait?
Peut-être parce que ta question n'est pas très claire Smiley cligne

Une variable ne peut contenir qu'une seule valeur... mais cette valeur peut être de différents types. Par exemple, s'il s'agit comme il me semble de stocker deux valeurs, alors tu peux tout simplement déclarer call comme un tableau...
En fait, j'ai deux champs date1 et date2 qui se remplisse (ou devrait se remplir) à partir d'un calendrier.

<label>Date du </label><input type="Text"  name="date1" value="" size="20"> <a href="javascript:cal1.popup();"><img src="image/calendrier/cal.gif" width="16" height="16" border="0" alt="Cliquez ici pour obtenir la date."></a>
         &nbsp au <input type="Text"  name="date2" value="" size="20"></a>


Le calendrier apparait et à l'aide de:

var cal1 = new calendar1(document.forms['formulaire'].elements['date1']);

Cela rempli le champs date1.

J'aimerai que le champs date2 soit égal au champs date lorsque celui-ci est rempli suite au clic sur le calendrier.

Désolé pour ce manque de clarté.

Edit: Je n'ai qu'une valeur un array n'est donc pas nécessaire selon moi, c'est plus un remplissage des deux champs que je cherche à faire.
Modifié par makata (09 Jun 2008 - 09:54)
Si en parlant de tableau tu ne pensais pas à un array() mais plus à l'utilisation du principe tel que ceci:

var cal1 = new calendar1(document.forms['formulaire'].elements['date1','date2']);

A ce moment là seul le champs date2 est rempli comme si date1 n'existait pas...
Ta méthode .popup() de calendar() n'a l'air de remplir qu'un seul champ, celui pour lequel elle a été définie. Ajouter d'autres paramètres, ou passer un tableau d'arguments ne changera pas ton problème si tu ne modifie pas le code de .popup() en conséquence.

Si tu veux juste que date2 prenne la valeur de date1 quand une valeur est entrée dans date1 alors regarde plutot du coté de .onchange

Où pour rester dans du code quick and dirty :

<input name="date1" id="date1" [...] onchange="javascript:document.getElementById('date2').value = this.value">
[...]
<input name="date2" id="date2" [...]>


Pas testé, mais c'est l'idée, changer date2 quand date1 change.