cherchez l'erreur...puis corrigez la...( javascript + formulaire)

cherchez l'erreur...puis corrigez la...( javascript + formulaire) - HTML/CSS - Programmation

Marsh Posté le 05-02-2003 à 23:24:05    

Voila mon probleme : j'ai une page simple avec un champ txtDate, quand je click sur choisir date, une popup avec un calendrier apparait
 
vous pouvez voir le resultat ici:
http://membres.lycos.fr/ifawebsite [...] lendar.htm
 
le code de la page html:
 
<script language="javascript">
 
function window_open()
{
var newWindow;
var urlstring = 'Calendar.htm'
newWindow = window.open(urlstring,'','height=220,width=290,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no';)
}
 
</script>
 
<input type=text name='txtDate'><input type=button onClick="window_open()" value='Choisir date'>
 
----------------------------------------------------------------
 
Maintenant j'essai de l'integrer a tout un formulaire et finalement la popup qui apparait est vide... :heink:  (je crois que le probleme vient de la balise <form> ) Comment faire??
 
vous pouvez voir le resultat ici:
http://membres.lycos.fr/ifawebsite [...] lendar.htm
 
 
le code de la page html du formulaire:
 
 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
 <title>Formulaire</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <script language="Javascript">
 
function window_open()
{
var newWindow;
var urlstring = 'Calendar.htm'
newWindow = window.open(urlstring,'','height=220,width=290,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no';)
}
 </script>
         
    </head>
    <body>
        <h2>Formulaire client :</h2>
        <form method="post" action="../../ibm/sauvergardes%20f/easy%20php/moi/client.php" name=client>
         
            <TABLE BORDER="1" ALIGN="CENTER" BGCOLOR="#D0D0D0" cellpadding='0' cellspacing='0' BORDERCOLOR="#000000" size=2>
<TR><Th>Nom de l'entreprise : </Th>
<TD><input type=text name="nom_entreprise" size=30></td></TR>
<TR><Th>Nom du client : </Th>
<TD><input type=text name="nom_cli" size=20></td></TR>
<TR><Th>Prenom du client : </Th>
<TD><input type=text name="prenom_cli" size=30></td></TR>
<TR><Th>Adresse: </Th>
<TD><input type=text name="adresse" size=40></td></TR>
<TR><Th>Code postal : </Th>
<TD><input type=text name="code_postal" size=5></td></TR>
<TR><Th>Ville  : </Th>
<TD><input type=text name="ville" size=20></td></TR>
<TR><Th>Téléphone : </Th>
<TD><input type=text name="telephone" size=10></td></TR>
<TR><Th>Fax: </Th>
<TD><input type=text name="fax" size=10></td></TR>
<TR><Th>Email: </Th>
<TD><input type=text name="email" size=50></td></TR>
<TR><Th>Responsable: </Th>
<TD><input type=text name="responsable" size=20></td></TR>
<TR><Th>Nombre de stagiaires: </Th>
<TD><input type=text name="nb_stagiaire" size=2></td></TR>
<TR><Th>Date souhaitée: </Th>
<TD><input type=text name='txtDate' size=20><input type=button onClick="window_open()" value='Choisir date'></td></TR>
</TABLE>
            <input type="submit" value="Envoyer"/>
       
 </form>  
   
    </body>
</html>
[s]


Message édité par fab263 le 05-02-2003 à 23:35:09
Reply

Marsh Posté le 05-02-2003 à 23:24:05   

Reply

Marsh Posté le 05-02-2003 à 23:40:49    

normalement c'est pas plutot : onClick="window.open()" avec un point entre les deux ?
 
Sinon il manque un fichier .js je suis sûr qu'un calendrier en javascript ca prend des centaines de lignes de code, hors là c'est normal que tu ai une page blanche si il n'es pas inclu

Reply

Marsh Posté le 05-02-2003 à 23:47:02    

ah et puis  

Code :
  1. function window_open()
  2. {
  3. var newWindow;
  4. var urlstring = 'Calendar.htm'
  5. newWindow = window.open(urlstring,'','height=220,width=290,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no')
  6. }

 ouvre effectivement une page blanche, puisque Calendar.htm est vide.  
 
Enfin un conseil, plutot que te faire chier à mettre un javascript hyperlourd qui marchera sous tel navigateur et pas sur un autre, un bon vieux :  (date au format 01/05/1976)  fait tout aussi l'affaire.

Reply

Marsh Posté le 05-02-2003 à 23:53:52    

calendar.htm est pas vide il contient du javascript. En + le code marche dans un cas et pas dans l'autre alors qu'ils font appel tous les 2 a Calendar.htm :heink:  
 
code de calendar.htm
 
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
 
<script language="JavaScript">
// written by Tan Ling Wee on 2 Dec 2001
// last updated 28 Mar 2002
// email : fuushikaden@yahoo.com
 
 var fixedX = -1   // x position (-1 if to appear below control)
 var fixedY = -1   // y position (-1 if to appear below control)
 var startAt = 1   // 0 - sunday ; 1 - monday
 var showWeekNumber = 1 // 0 - don't show; 1 - show
 var showToday = 1  // 0 - don't show; 1 - show
 var imgDir = ""   // directory for images ... e.g. var imgDir="/img/"
 
 var gotoString = "Go To Current Month"
 var todayString = "Aujourd'hui :"
 var weekString = "Sem"
 var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
 var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
 var selectMonthMessage = "Click to select a month."
 var selectYearMessage = "Click to select a year."
 var selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.
 
 var crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear
 
 var bPageLoaded=false
 var ie=document.all
 var dom=document.getElementById
 
 var ns4=document.layers
 var today = new Date()
 var dateNow  = today.getDate()
 var monthNow = today.getMonth()
 var yearNow  = today.getYear()
 var imgsrc = new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif" )
 var img = new Array()
 
 function HolidayRec (d, m, y, desc)
 {
  this.d = d
  this.m = m
  this.y = y
  this.desc = desc
 }
 
 var HolidaysCounter = 0
 var Holidays = new Array()
 
 function addHoliday (d, m, y, desc)
 {
  Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
 }
 
 if (dom)
 {
  for (i=0;i<imgsrc.length;i++)
  {
   img[i] = new Image
   img[i].src = imgDir + imgsrc[i]
  }
  document.write ("<div id='calendar' style='position:absolute;visibility:hidden;'><table width="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#a0a0a0;font-family:arial; font-size:11px}' bgcolor='#ffffff'><tr bgcolor='#0000aa'><td><table width='"+((showWeekNumber==1)?248:218)+"'><tr><td style='padding:2px;font-family:arial; font-size:11px;'><font color='#ffffff'><B><span id='caption'></span></B></font></td><td align=right><a href='javascript:hideCalendar()'><IMG SRC='"+imgDir+"close.gif' WIDTH='15' HEIGHT='13' BORDER='0' ALT='Close the Calendar'></a></td></tr></table></td></tr><tr><td style='padding:5px' bgcolor=#ffffff><span id='content'></span></td></tr>" )
   
  if (showToday==1)
  {
   document.write ("<tr bgcolor=#f0f0f0><td style='padding:5px' align=center><span id='lblToday'></span></td></tr>" )
  }
   
  document.write ("</table></div><div id='selectMonth' style='position:absolute;visibility:hidden;'></div><div id='selectYear' style='position:absolute;visibility:hidden;'></div>" );
 }
 
 var monthName = new Array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre" )
 if (startAt==0)
 {
  dayName = new Array ("Dim","Lun","Mar","Mer","Jeu","Ven","Sam" )
 }
 else
 {
  dayName = new Array ("Lun","Mar","Mer","Jeu","Ven","Sam","Dim" )
 }
 var styleAnchor="text-decoration:none;color:black;"
 var styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"
 
 function swapImage(srcImg, destImg){
  if (ie) { document.getElementById(srcImg).setAttribute("src",imgDir + destImg) }
 }
 
 function init() {
  if (!ns4)
  {
   if (!ie) { yearNow += 1900 }
 
   crossobj=(dom)?document.getElementById("calendar" ).style : ie? document.all.calendar : document.calendar
   hideCalendar()
 
   crossMonthObj=(dom)?document.getElementById("selectMonth" ).style : ie? document.all.selectMonth : document.selectMonth
 
   crossYearObj=(dom)?document.getElementById("selectYear" ).style : ie? document.all.selectYear : document.selectYear
 
   monthConstructed=false;
   yearConstructed=false;
 
   if (showToday==1)
   {
    document.getElementById("lblToday" ).innerHTML = todayString + " <a onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' style='"+styleAnchor+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+"  " + dateNow + " " + monthName[monthNow].substring(0,3) + " " + yearNow + "</a>"
   }
 
   sHTML1="<span id='spanLeft' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeLeft\",\"left2.gif\" );this.style.borderColor=\"#88AAFF\";window.status=\""+scrollLeftMessage+"\"' onclick='javascript:decMonth()' onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\" );this.style.borderColor=\"#3366FF\";window.status=\"\"' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)' onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'> <IMG id='changeLeft' SRC='"+imgDir+"left1.gif' width=10 height=11 BORDER=0> </span> "
   sHTML1+="<span id='spanRight' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeRight\",\"right2.gif\" );this.style.borderColor=\"#88AAFF\";window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\" );this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)' onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'> <IMG id='changeRight' SRC='"+imgDir+"right1.gif' width=10 height=11 BORDER=0> </span> "
   sHTML1+="<span id='spanMonth' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeMonth\",\"drop2.gif\" );this.style.borderColor=\"#88AAFF\";window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"drop1.gif\" );this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='popUpMonth()'></span> "
   sHTML1+="<span id='spanYear' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"drop2.gif\" );this.style.borderColor=\"#88AAFF\";window.status=\""+selectYearMessage+"\"' onmouseout='swapImage(\"changeYear\",\"drop1.gif\" );this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='popUpYear()'></span> "
   
   document.getElementById("caption" ).innerHTML  = sHTML1
 
   bPageLoaded=true
 
   //Calling a calendar function and passing the name of the text  
   //box which holds the date field. Added by D.T.
   popUpCalendar(this, opener.txtDate, 'm/d/yyyy';)
  }
 }
 
 function hideCalendar() {
  crossobj.visibility="hidden"
  if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
  if (crossYearObj != null){crossYearObj.visibility="hidden"}
 
  //Closing a popup window when user clicked 'x', close the calendar. Added by D.T.
  self.closed
 }
 
 function padZero(num) {
  return (num < 10)? '0' + num : num ;
 }
 
 function constructDate(d,m,y)
 {
  sTmp = dateFormat
  sTmp = sTmp.replace ("dd","<e>" )
  sTmp = sTmp.replace ("d","<d>" )
  sTmp = sTmp.replace ("<e>",padZero(d))
  sTmp = sTmp.replace ("<d>",d)
  sTmp = sTmp.replace ("mmm","<o>" )
  sTmp = sTmp.replace ("mm","<n>" )
  sTmp = sTmp.replace ("m","<m>" )
  sTmp = sTmp.replace ("<m>",m+1)
  sTmp = sTmp.replace ("<n>",padZero(m+1))
  sTmp = sTmp.replace ("<o>",monthName[m])
  return sTmp.replace ("yyyy",y)
 }
 
 function closeCalendar() {
  var sTmp
 
  hideCalendar();
  ctlToPlaceValue.value = constructDate(dateSelected,monthSelected,yearSelected)
 
  //Closing popup window when date is selected. Added By D.T.
  self.close()
 }
 
 /*** Month Pulldown ***/
 
 function StartDecMonth()
 {
  intervalID1=setInterval("decMonth()",80)
 }
 
 function StartIncMonth()
 {
  intervalID1=setInterval("incMonth()",80)
 }
 
 function incMonth () {
  monthSelected++
  if (monthSelected>11) {
   monthSelected=0
   yearSelected++
  }
  constructCalendar()
 }
 
 function decMonth () {
  monthSelected--
  if (monthSelected<0) {
   monthSelected=11
   yearSelected--
  }
  constructCalendar()
 }
 
 function constructMonth() {
  popDownYear()
  if (!monthConstructed) {
   sHTML = ""
   for (i=0; i<12; i++) {
    sName = monthName[i];
    if (i==monthSelected){
     sName = "<B>" + sName + "</B>"
    }
    sHTML += "<tr><td id='m" + i + "' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='monthConstructed=false;monthSelected=" + i + ";constructCalendar();popDownMonth();event.cancelBubble=true'> " + sName + " </td></tr>"
   }
 
   document.getElementById("selectMonth" ).innerHTML = "<table width=70 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;' bgcolor='#FFFFDD' cellspacing=0 onmouseover='clearTimeout(timeoutID1)' onmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>" + sHTML + "</table>"
 
   monthConstructed=true
  }
 }
 
 function popUpMonth() {
  constructMonth()
  crossMonthObj.visibility = (dom||ie)? "visible" : "show"
  crossMonthObj.left = parseInt(crossobj.left) + 50
  crossMonthObj.top = parseInt(crossobj.top) + 26
 }
 
 function popDownMonth() {
  crossMonthObj.visibility= "hidden"
 }
 
 /*** Year Pulldown ***/
 
 function incYear() {
  for (i=0; i<7; i++){
   newYear = (i+nStartingYear)+1
   if (newYear==yearSelected)
   { txtYear = " <B>" + newYear + "</B> " }
   else
   { txtYear = " " + newYear + " " }
   document.getElementById("y"+i).innerHTML = txtYear
  }
  nStartingYear ++;
 }
 
 function decYear() {
  for (i=0; i<7; i++){
   newYear = (i+nStartingYear)-1
   if (newYear==yearSelected)
   { txtYear = " <B>" + newYear + "</B> " }
   else
   { txtYear = " " + newYear + " " }
   document.getElementById("y"+i).innerHTML = txtYear
  }
  nStartingYear --;
 }
 
 function selectYear(nYear) {
  yearSelected=parseInt(nYear+nStartingYear);
  yearConstructed=false;
  constructCalendar();
  popDownYear();
 }
 
 function constructYear() {
  popDownMonth()
  sHTML = ""
  if (!yearConstructed) {
 
   sHTML = "<tr><td align='center' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>"
 
   j = 0
   nStartingYear = yearSelected-3
   for (i=(yearSelected-3); i<=(yearSelected+3); i++) {
    sName = i;
    if (i==yearSelected){
     sName = "<B>" + sName + "</B>"
    }
 
    sHTML += "<tr><td id='y" + j + "' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectYear("+j+" );event.cancelBubble=true'> " + sName + " </td></tr>"
    j ++;
   }
 
   sHTML += "<tr><td align='center' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)' onmouseup='clearInterval(intervalID2)'>+</td></tr>"
 
   document.getElementById("selectYear" ).innerHTML = "<table width=44 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;' bgcolor='#FFFFDD' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>" + sHTML + "</table>"
 
   yearConstructed = true
  }
 }
 
 function popDownYear() {
  clearInterval(intervalID1)
  clearTimeout(timeoutID1)
  clearInterval(intervalID2)
  clearTimeout(timeoutID2)
  crossYearObj.visibility= "hidden"
 }
 
 function popUpYear() {
  var leftOffset
 
  constructYear()
  crossYearObj.visibility = (dom||ie)? "visible" : "show"
  leftOffset = parseInt(crossobj.left) + document.getElementById("spanYear" ).offsetLeft
  if (ie)
  {
   leftOffset += 6
  }
  crossYearObj.left = leftOffset
  crossYearObj.top = parseInt(crossobj.top) + 26
 }
 
 /*** calendar ***/
 
 function WeekNbr(today)
    {
  Year = takeYear(today);
  Month = today.getMonth();
  Day = today.getDate();
  now = Date.UTC(Year,Month,Day+1,0,0,0);
  var Firstday = new Date();
  Firstday.setYear(Year);
  Firstday.setMonth(0);
  Firstday.setDate(1);
  then = Date.UTC(Year,0,1,0,0,0);
  var Compensation = Firstday.getDay();
  if (Compensation > 3) Compensation -= 4;
  else Compensation += 3;
  NumberOfWeek =  Math.round((((now-then)/86400000)+Compensation)/7);
  return NumberOfWeek;
 }
 
 function takeYear(theDate)
 {
  x = theDate.getYear();
  var y = x % 100;
  y += (y < 38) ? 2000 : 1900;
  return y;
 }
 
 
 function constructCalendar () {
  var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31)
 
  var dateMessage
  var startDate = new Date (yearSelected,monthSelected,1)
  var endDate
 
  if (monthSelected==1)
  {
   endDate = new Date (yearSelected,monthSelected+1,1);
   endDate = new Date (endDate - (24*60*60*1000));
   numDaysInMonth = endDate.getDate()
  }
  else
  {
   numDaysInMonth = aNumDays[monthSelected];
  }
 
  datePointer = 0
  dayPointer = startDate.getDay() - startAt
   
  if (dayPointer<0)
  {
   dayPointer = 6
  }
 
  sHTML = "<table  border=0 style='font-family:verdana;font-size:10px;'><tr>"
 
  if (showWeekNumber==1)
  {
   sHTML += "<td width=27><b>" + weekString + "</b></td><td width=1 rowspan=7 bgcolor='#d0d0d0' style='padding:0px'><img src='"+imgDir+"divider.gif' width=1></td>"
  }
 
  for (i=0; i<7; i++) {
   sHTML += "<td width='27' align='right'><B>"+ dayName[i]+"</B></td>"
  }
  sHTML +="</tr><tr>"
   
  if (showWeekNumber==1)
  {
   sHTML += "<td align=right>" + WeekNbr(startDate) + " </td>"
  }
 
  for ( var i=1; i<=dayPointer;i++ )
  {
   sHTML += "<td> </td>"
  }
 
  for ( datePointer=1; datePointer<=numDaysInMonth; datePointer++ )
  {
   dayPointer++;
   sHTML += "<td align=right>"
   sStyle=styleAnchor
   if ((datePointer==odateSelected) && (monthSelected==omonthSelected) && (yearSelected==oyearSelected))
   { sStyle+=styleLightBorder }
 
   sHint = ""
   for (k=0;k<HolidaysCounter;k++)
   {
    if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
    {
     if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
     {
      sStyle+="background-color:#FFDDDD;"
      sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
     }
    }
   }
 
   var regexp= /\"/g
   sHint=sHint.replace(regexp,""" )
 
   dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
 
   if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow))
   { sHTML += "<b><a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'><font color=#ff0000> " + datePointer + "</font> </a></b>"}
   else if (dayPointer % 7 == (startAt * -1)+1)
   { sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'> <font color=#909090>" + datePointer + "</font> </a>" }
   else
   { sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'> " + datePointer + " </a>" }
 
   sHTML += ""
   if ((dayPointer+startAt) % 7 == startAt) {  
    sHTML += "</tr><tr>"  
    if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
    {
     sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + " </td>"
    }
   }
  }
 
  document.getElementById("content" ).innerHTML   = sHTML
  document.getElementById("spanMonth" ).innerHTML = " " + monthName[monthSelected] + " <IMG id='changeMonth' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
  document.getElementById("spanYear" ).innerHTML = " " + yearSelected + " <IMG id='changeYear' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
 }
 
 function popUpCalendar(ctl, ctl2, format) {
  var leftpos=0
  var toppos=0
 
  if (bPageLoaded)
  {
   if ( crossobj.visibility == "hidden" ) {
    ctlToPlaceValue = ctl2
    dateFormat=format;
 
    formatChar = " "
    aFormat = dateFormat.split(formatChar)
    if (aFormat.length<3)
    {
     formatChar = "/"
     aFormat = dateFormat.split(formatChar)
     if (aFormat.length<3)
     {
      formatChar = "."
      aFormat = dateFormat.split(formatChar)
      if (aFormat.length<3)
      {
       formatChar = "-"
       aFormat = dateFormat.split(formatChar)
       if (aFormat.length<3)
       {
        // invalid date format
        formatChar=""
       }
      }
     }
    }
 
    tokensChanged = 0
    if ( formatChar != "" )
    {
     // use user's date
     aData = ctl2.value.split(formatChar)
 
     for (i=0;i<3;i++)
     {
      if ((aFormat[i]=="d" ) || (aFormat[i]=="dd" ))
      {
       dateSelected = parseInt(aData[i], 10)
       tokensChanged ++
      }
      else if ((aFormat[i]=="m" ) || (aFormat[i]=="mm" ))
      {
       monthSelected = parseInt(aData[i], 10) - 1
       tokensChanged ++
      }
      else if (aFormat[i]=="yyyy" )
      {
       yearSelected = parseInt(aData[i], 10)
       tokensChanged ++
      }
      else if (aFormat[i]=="mmm" )
      {
       for (j=0; j<12; j++)
       {
        if (aData[i]==monthName[j])
        {
         monthSelected=j
         tokensChanged ++
        }
       }
      }
     }
    }
 
    if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected))
    {
     dateSelected = dateNow
     monthSelected = monthNow
     yearSelected = yearNow
    }
 
    odateSelected=dateSelected
    omonthSelected=monthSelected
    oyearSelected=yearSelected
 
    /* Commented by D.T.  
     aTag = ctl
     do {
      aTag = aTag.offsetParent;
      leftpos += aTag.offsetLeft;
      toppos += aTag.offsetTop;
     } while(aTag.tagName!="BODY" );
 
     crossobj.left = fixedX==-1 ? ctl.offsetLeft + leftpos : fixedX
     crossobj.top = fixedY==-1 ? ctl.offsetTop + toppos + ctl.offsetHeight + 2 : fixedY
    */
     
    //Setting left and top of the calendar in a popUp window. Added by D.T.
 
    constructCalendar (1, monthSelected, yearSelected);
    crossobj.visibility=(dom||ie)? "visible" : "show"
   }
   else
   {
    hideCalendar()
    if (ctlNow!=ctl) {popUpCalendar(ctl, ctl2, format)}
   }
   ctlNow = ctl
  }
 }
 window.onload=init
 </script>
</HEAD>
<BODY>
</BODY>
</HTML>

Reply

Marsh Posté le 05-02-2003 à 23:56:28    

Tu espères vraiment qu'on va lire toute ta tartine de code ?
 
Et puis chapeau ! :jap: C'est la première fois où je vois l'intégralité d'un document dans le <head> plutôt que dans le <body>


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 06-02-2003 à 00:03:50    

je ne saurais que te répéter ceci : (date au format 01/05/1976)
 
franchement quand tu te sera fait chier à faire marcher ton script bien lourd et que le testera sous différent navigateurs, tu te dira que tu aurais mieux fait de partir à la pêche à la ligne


Message édité par panchopa le 06-02-2003 à 00:04:08
Reply

Marsh Posté le 06-02-2003 à 00:06:31    

tu veux dire que c mieux si l'utilisateur saisie direct la date sans passer par un calendrier? Moi me faut vraiment un calendrier...


Message édité par fab263 le 06-02-2003 à 00:09:30
Reply

Marsh Posté le 06-02-2003 à 03:01:55    

fab263 a écrit :

tu veux dire que c mieux si l'utilisateur saisie direct la date sans passer par un calendrier? Moi me faut vraiment un calendrier...


 
Ouai ? Ben fait le alors... Mais je te préviens qu'en javascript, c'est nul... les calendriers, c'est en php, asp ou perl, mais pas en JS. En tout cas, on a autre chose à faire qu'à lire 500 lignes de code et à debbuguer un script copier qq part sur internet.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed