Autor Zpráva
Fisak
Profil
Dobrý den,

Mám skript na výběr data narození. Bohužel když dám že mám selected u nějakého měsíce tak se mi bohužel nezmění automaticky den a rok. Mohl by mi s tím někdo poradit? Děkuji moc.

<script type="text/javascript"> 
function call(){
var kcyear = document.getElementsByName("year")[0],
 kcmonth = document.getElementsByName("month")[0],
  kcday = document.getElementsByName("day")[0]; 
  
  var d = new Date(); 
  var n = d.getFullYear(); 
  for (var i = n; i >= 1950; i--) { 
  var opt = new Option(); 
  opt.value = opt.text = i;
  if(i == '<?php echo $row_uss->year_birth; ?>') opt.selected = true;  
  kcyear.add(opt); 
  } 
  kcyear.addEventListener("change", validate_date); 
  kcmonth.addEventListener("change", validate_date); 
  
  function validate_date() { 
  var y = +kcyear.value, m = kcmonth.value, d = kcday.value; 
  if (m === "2") 
  var mlength = 28 + (!(y & 3) && ((y % 100) !== 0 || !(y & 15))); 
  else var mlength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][m - 1]; 
  kcday.length = 0; 
  for (var i = 1; i <= mlength; i++) { 
  var opt = new Option(); 
  opt.value = opt.text = i; 
  if (i == d || i == '<?php echo $row_uss->day_birth; ?>') opt.selected = true; kcday.add(opt); } } 
  validate_date(); } 
</script>

<
<div class="td" id="desc">Datum narození:</div><div class="td" id="cont">
<select name="month" onchange="call()" > 
<option value=""> --- Zvolte měsíc --- </option> 
<option value="1">Leden</option> 
<option value="2">Únor</option> 
<option value="3">Březen</option> 
<option value="4">Duben</option> 
<option value="5">Květen</option> 
<option value="6">Červen</option> 
<option value="7">Červenec</option> 
<option value="8">Srpen</option> 
<option value="9">Září</option> 
<option value="10">Říjen</option> 
<option value="11">Listopad</option> 
<option value="12">Prosinec</option> 
</select>
<select name="day" > 
<option value=""> --- Zvolte den --- </option> 
</select> 
<select name="year" onchange="call()"> 
<option value=""> --- Zvolte rok --- </option>
</select> 

</div
když dám např. <option value="12" selected="selected">Prosinec</option> tak se mi nezobrazí vybraný den a rok
Chamurappi
Profil
Reaguji na Fisaka:
Nestačí prostě zavolat call() hned po načtení?
Fisak
Profil
Chamurappi:
Pokud jsem to dobře pochopil tak mam udělat: <body onchange="call()"> ?? pokud ano tak jsem to udělal a nefunguje to..
_es
Profil
[#3] Fisak:
Kde si „prišiel“ k atribútu onchange u <body>? Daj za </select> <script>call()</script>.
Fisak
Profil
_es:
Paráda děkuji moc funguje to...

A mám ještě jeden dotaz. U roku pokud tam mám ten select if(i == '<?php echo $row_uss->year_birth; ?>') opt.selected = true; tak mi nejde zvolit jiný rok než ten který je zvolený. Můžem mi prosím s tímto ještě někdo poradit? Předem děkuji.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0