Autor Zpráva
Veronika22
Profil *
Potřebovala bych poradit. Javascript bohužel neumím :(
Potřebuji udělat tlačítko, třeba přes submit, kde kliknutím na tlačítko mě javascript do dvou input vložit čas
1.input: DD.MM.YYYY
2.input: HH:MM

U toho tlačítka bych chtěla ale nadefinovat čas. Tlačítka bych potřebovala hned tři, kdy jedno tlačítko vloží datum do input o 1 měsíc, druhé o 6 měsíců a třetí tlačítko o 2 roku dopředu.

Moc Vám děkuji za výpomoc.
Darker
Profil
S nulovou znalostí javascriptu to asi nepůjde.
Pokud umíte HTML, tahle funkce musí stačit:
function vlozCas(skok,input1,input2) {
    var time = new Date();                    //Javascript má pro datum vlasní objekt
    var mesic = skok+time.getMonth();         //Přičtu počet měsíců navíc k číslu aktuálního měsíce
    time.setMonth(mesic%12);                  //Nastavím jako aktuální měsíc daný součet - resp. jeho zbytek po dělení 12
    time.setFullYear(time.getFullYear()+Math.floor(mesic/12));         //Pokud je počet měsíců, co jsem přidal větší než 12, přidám rok
    if(input1 instanceof HTMLInputElement) 
      input1.value = time.getDate()+"."+(time.getMonth()+1)+"."+time.getFullYear();
    else
      input1.innerHTML = time.getDate()+"."+(time.getMonth()+1)+"."+time.getFullYear();
      
    if(input2 instanceof HTMLInputElement) 
      input2.value = time.getHours()+":"+time.getMinutes();
    else
      input2.innerHTML = time.getHours()+":"+time.getMinutes();
}

<input type="button" onclick="vlozCas(2, document.getElementById('p1'),document.getElementById('p2'));">
<input type="text" id="p1">
<span id="p2"></span>



Ještě napovím, že poslední tlačítko bude posouvat o 24 měsíců...
Chamurappi
Profil
Reaguji na Darkera:
if(input1 instanceof HTMLInputElement)
Tohle nepoběží ve všech prohlížečích. Proč netestuješ třeba tagName?
Darker
Profil
Chamurappi:
Proč netestuješ třeba tagName?
Tamto vypadá víc profi. :)
Dřív jsem používal tagName, než jsem objevil tohle. Pokud je to nekompatibilní - beru zpět:
    if(input1.tagName=="INPUT") 
      input1.value = time.getDate()+"."+(time.getMonth()+1)+"."+time.getFullYear();
    else
      input1.innerHTML = time.getDate()+"."+(time.getMonth()+1)+"."+time.getFullYear();
      
    if(input2.tagName=="INPUT") 
      input2.value = time.getHours()+":"+time.getMinutes();
    else
      input2.innerHTML = time.getHours()+":"+time.getMinutes();

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: