Autor | Zpráva | ||
---|---|---|---|
petrr Profil * |
#1 · Zasláno: 16. 8. 2010, 09:08:52
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 |
#2 · Zasláno: 16. 8. 2010, 09:31:48
Reaguji na petrra:
Protože máš někde špatně kódování. Přesnější odpověď bez odkazu na ukázku nedostaneš. |
||
petrr Profil * |
#3 · Zasláno: 16. 8. 2010, 10:17:22
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 |
||
Chamurappi Profil |
#4 · Zasláno: 16. 8. 2010, 10:19:34 · Upravil/a: Chamurappi
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 * |
#5 · Zasláno: 16. 8. 2010, 10:42:15
Aha - změnil sem to tedy na:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /> ještě by jsem potřeboval pomoct se selectem year, proč nepracuje jak má? |
||
Chamurappi Profil |
#6 · Zasláno: 16. 8. 2010, 10:54:38
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 * |
#7 · Zasláno: 16. 8. 2010, 11:03:46
Dobře co mám tedy udělat aby to běželo správně?
Děkuji |
||
habendorf Profil |
#8 · Zasláno: 16. 8. 2010, 11:09:56
Třeba zavést si i funkci showOutboundYears. Nebo té stávající funkci dát další parametr.
|
||
petrr Profil * |
#9 · Zasláno: 16. 8. 2010, 13:58:22
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 |
||
petrr Profil * |
#10 · Zasláno: 16. 8. 2010, 22:35:35
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 |
||
Časová prodleva: 15 let
|
0