Avatar billede tomic Nybegynder
24. marts 2004 - 13:00 Der er 8 kommentarer og
1 løsning

form og javascript ?

nogen der kan fortælle mig hvorfor den ikke skrive den dag jeg sætter i min form???? hvad gør jeg forkert

<form action=" prove.php" method="post" name="prove"  onsubmit="return formCheck()">
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="40%"><font size="2">year:</td>
      <td width="60%">
          <select name="year">
          <option value="2003">2003</option>
          <option value="2004">2004</option>
          <option value="2005">2005</option>
        </select></td>
</tr>
<tr>
<td width="40%"><font size="2">Month:</td>
      <td width="60%">
          <select name="month">
          <option value="1">januar</option>
          <option value="2">February</option>
          <option value="3">March</option>
          <option value="4">April</option>
          <option value="5">May</option>
          <option value="6">June</option>
          <option value="7">July</option>
          <option value="8">August</option>
          <option value="9">September</option>
          <option value="10">Oktober</option>
          <option value="11">November</option>
          <option value="12">December</option>
        </select></td>
</tr><tr>
<td width="40%"><font size="2">day:</td>
      <td width="60%">
          <select name="day">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>
        </select></td>
</tr>
</table>
<p>
<input type="submit" name="valg" value="valg">

</form>

<script language="JavaScript">
function formCheck() {
var now = new Date();
var da = document.forms[].elements[day].type;
var mo = document.forms[].elements[month].type;
var ye = document.forms[].elements[year].type;
now.setDate(da);
now.setMonth(mo);
now.setYear(ye);
days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
d = now.getDay();
document.open();document.write( days[d] );
}
</script>
Avatar billede skovenborg Nybegynder
24. marts 2004 - 13:12 #1
det ville i hvert fald hjælpe på det hvis du skrev:
var da = document.forms[0].elements["day"].options[document.forms[0].elements["day"].selectedIndex].value;
var mo = document.forms[0].elements["month"].options[document.forms[0].elements["month"].selectedIndex].value;
var ye = document.forms[0].elements["year"].options[document.forms[0].elements["year"].selectedIndex].value;
Avatar billede mm12010 Nybegynder
24. marts 2004 - 13:14 #2
for det først fordi du henter felt typen i stedet for værdien, og så mangler der en korrekt reference til din form:
  var da = document.forms[].elements[day].type;
skal være:
  var da = document.forms['prove'].elements['day'].value;

dernæst skal du tage højde for at JavaScript tæller fra 0 og ikke fra 1, derfor skal:
  now.setMonth(mo);
rettes til:
  now.setMonth(mo-1);


scriptet ser så således ud:

<script language="JavaScript">
function formCheck() {
var now = new Date();
var da = document.forms['prove'].elements['day'].value;
var mo = document.forms['prove'].elements['month'].value;
var ye = document.forms['prove'].elements['year'].value;
now.setDate(da);
now.setMonth(mo-1);
now.setYear(ye);
days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
d = now.getDay();
document.open();
document.write(days[d]);
document.close();
}
Avatar billede skovenborg Nybegynder
24. marts 2004 - 13:14 #3
du kan også skrive:
var da = document.forms[0].elements["day"].value;
var mo = document.forms[0].elements["month"].value;
var ye = document.forms[0].elements["year"].value;

men i hvert fald er type helt forkert, da det giver typen af form-elementet (altså select) og du skal samtidig også definere et index i dit form-array. Altså du kan ikke nøjes med at skrive forms[]
Avatar billede tomic Nybegynder
24. marts 2004 - 13:19 #4
mm12010 tak men hvordan for du så de 100 point ????
Avatar billede mm12010 Nybegynder
24. marts 2004 - 13:21 #5
sådan - selv tak :o)
Avatar billede mm12010 Nybegynder
24. marts 2004 - 13:26 #6
skovenborg >> du siger bare til hvis du vil ha en bid af kagen ;-)
Avatar billede skovenborg Nybegynder
24. marts 2004 - 13:33 #7
egentlig lige meget - du kom også først med den fulde løsning. Du må gerne hvis du har lyst og føler jeg bør have en lille bid af kagen - men kun hvis du gider ;-)
Avatar billede mm12010 Nybegynder
24. marts 2004 - 13:36 #8
du var trods alt først med halvdelen af løsningen ;-)

http://www.eksperten.dk/spm/481354
Avatar billede skovenborg Nybegynder
24. marts 2004 - 13:40 #9
okay :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester