Autor Zpráva
petrr
Profil *
Nazdárek, mám takový problémek. Proč se mi v selectech místo písmen s háčky nebo čárkami vypisují kosočtverečky s otazníkem? Děkuji
Chamurappi
Profil
Reaguji na petrra:
Protože máš někde špatně kódování. Přesnější odpověď bez odkazu na ukázku nedostaneš.
petrr
Profil *
Posílám kód:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml xml:lang="cs">
<head>
 <title>Selects</title>
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
 <style rel="stylesheet" type="text/css">
 </style>
 <script>
function showOutboundDays(month,year) 


{ 
  
var days=null;



  if(month==4 || month==6 || month==9 || month==11) 
        
  days=30;
  
  else if(month==2)
{


if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0) ) days = 29; else days = 28; 

}
  
  else 

  days=31;

  

var select = document.getElementById('day');

    while ( select.childNodes.length >= 1 )
    {
        select.removeChild(select.firstChild);       
    }

    for(var i=1;i<=days;i++)
    {
        
        newOption = document.createElement('option');
        newOption.value=i;
        newOption.text=i;
        select.appendChild(newOption);
    }
}



  
 </script>
 </head>
<body>

 <select id="day">

    </select>


    <select onchange="showOutboundDays(this.value);">
        <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="year" id="year" onchange="showOutboundDays(this.value);">

  <option value="2000">2000</option>
  <option value="2001">2001</option>     


 </select>

   
</body>
</html>


Měl by jsem ještě otázku, proč mi tento kód vypisuje špatně do selectu když zadávám údaje v
select
year? Díky
Chamurappi
Profil
Reaguji na petrra:
Protože máš někde špatně kódování. Přesnější odpověď bez odkazu na ukázku nedostaneš.

Mimochodem:
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
Co si myslíš, že tahle značka dělá? V XHTML nic nedělá a v HTML (tvůj případ) nedává smysl psát do ní application/xhtml+xml, když používáš text/html.
petrr
Profil *
Aha - změnil sem to tedy na:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
a už to běží i s diakritikou - děkuji,

ještě by jsem potřeboval pomoct se selectem year, proč nepracuje jak má?
Chamurappi
Profil
Reaguji na petrra:
Při změně kteréhokoliv ze <select>ů voláš funkci showOutboundDays a té předáváš jako jediný argument hodnotu toho <select>u. Tedy v month je 1 až 12 nebo 2000 a 2001 a v year je vždy undefined.
petrr
Profil *
Dobře co mám tedy udělat aby to běželo správně?
Děkuji
habendorf
Profil
Třeba zavést si i funkci showOutboundYears. Nebo té stávající funkci dát další parametr.
petrr
Profil *
Dobře vytvořím funkci:
 

function showOutboundYears (year)
 {

}




tato funkce má pak zjistovat zda je rok přestupny, a zároveň kontrolovat zda je 2 měsíc, v případě že bude oboji přidělit
select
u day hodnotu 29? Chápu li dobře? Děkuji
petrr
Profil *
Ahojky udělal sem v kódu úpravy ale pořád to nejede, už si s tím lámu hlavu poměrně dlouho, kdyby někdo věděl co je tam špatně byl by jsem vděčný, posílám kód:

[pre]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml xml:lang="cs">
<head>
<title>Selects</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<style rel="stylesheet" type="text/css">
</style>
<script>



function showOutboundDays(month,year)


{

var days=null;
if(month==4 || month==6 || month==9 || month==11)

days=30;

if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)

days=31;


else if (month==2) {
if (isLeapYear(year)) days=29;

else

days=28;
}


function isLeapYear (Year) {
if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
return (true);
}

var select = document.getElementById('day');

while ( select.childNodes.length >= 1 )
{
select.removeChild(select.firstChild);
}

for(var i=1;i<=days;i++)
{

newOption = document.createElement('option');
newOption.value=i;
newOption.text=i;
select.appendChild(newOption);
}
}



</script>
</head>
<body>

<select id="day">

</select>


<select onchange="showOutboundDays(this.value);">
<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="year" id="Year" onchange="showOutboundDays(this.value);">

<option value="2000">2000</option>
<option value="2001">2001</option>


</select>


</body>
</html>
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