Kan du inte bara sätta värdet direkt:
<input type="hidden" name="Date of Birth" id="Date of Birth" value="0000
-00-00" />
Om de fyller i något, så triggas JS och ändrar värdet. Om inte, är det det värdet som postas.
2 svar · 486 visningar · startad av tovelainen
Hej
Jag har ett javascript som man kan välja födelsedag - dag, månad, år i.
Delarna väljs i 3 dropdowns och sätts ihop till ett korrekt datum som läses in i en databas vid submit.
Jag får detta dock inte att funka. Hur jag än gör så måste besökaren ange födelsedag annars går ingen info in i databasen.
Jag måste alltså (antagligen!) skicka ett standardvärde även om ingen nuddat de 3 dropdownerna.
Nån som har nån idé?
Här kommer koden, blir supertacksam för förslag!!
<select name="mon" id="mon" onchange="onChangeBirthdayContent()">
<option value="-">-</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="dag" id="dag" onchange="onChangeBirthdayContent()">
<option value="-">-</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="ar" id="ar" onchange="onChangeBirthdayContent()">
<option value="-">-</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
</select>
<script type="text/javascript">
<!--
function onChangeBirthdayContent(){
var f = document.Form;
var year = f.ar.options[f.ar.selectedIndex].value;
var month = f.mon.options[f.mon.selectedIndex].value;
var day = f.dag.options[f.dag.selectedIndex].value;
var output = month + "/" + day + "/" + year;
if(year == '-' || month == '-' || day == '-'){ // Om nagon rullmeny inte ar ifylld sa satts vardet till ''.
output = '';
}
f.elements['Date of Birth'].value = output;
}
//-->
</script>
<input type="hidden" name="Date of Birth" id="Date of Birth" />
Kan du inte bara sätta värdet direkt:
<input type="hidden" name="Date of Birth" id="Date of Birth" value="0000
-00-00" />
Om de fyller i något, så triggas JS och ändrar värdet. Om inte, är det det värdet som postas.
Kanske är problemet löst redan, men i koden finns ju detta:
if(year == '-' || month == '-' || day == '-'){ // Om nagon rullmeny inte ar ifylld sa satts vardet till ''.
output = '';
Vad händer om man ändrar output-variabeln till något standarddatum?
Visserligen ger detta ett standardvärde vare sig någon av dropdown:erna är orörd, eller alla, men jag tykcer mig ändå läsa mellan raderna att det borde vara det du är ute efter...