Problém s doplňkem DateInput

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Taps
Člen | 169
+
0
-

Zdravím, chci zprovoznit doplněk DateInput, ale zobrazují se mí níže uvedené chyby

TypeError: $("input[data-dateinput-type]") is null
$('input[data-dateinput-type]').dateinput({

Mohl by mi někdo poradit, jak zprovoznit doplněk DateInput.

Používám:
http://ajax.googleapis.com/…query.min.js
jquery-ui-timepicker-addon.js (version: „0.9.3“ )

Skripty načítám v tomto pořadí
http://ajax.googleapis.com/…query.min.js
jquery-ui.min.js
jquery-ui-timepicker-addon.js
dateInput.js

Vygenerované html

<tr>
	<th><label for="frmterminyForm-datetime">Datetime</label></th>

	<td><input type="datetime" data-dateinput-type="datetime" name="datetime" id="frmterminyForm-datetime" /></td>
</tr>

Editoval Taps (19. 7. 2012 8:08)

llook
Člen | 407
+
0
-
{control form}
<script type="text/javascript">
$('input[data-dateinput-type]').dateinput()
</script>

Editoval llook (19. 7. 2012 8:38)

Taps
Člen | 169
+
0
-

ještě dodám že na uvedené stránce mám tento kod

<script>
$('input[data-dateinput-type]').dateinput({
    datetime: {
        dateFormat: 'd.m.yy',
        timeFormat: 'h:mm'
    },
    'datetime-local': {
        dateFormat: 'd.m.yy',
        timeFormat: 'h:mm'
    },
    date: {
        dateFormat: 'd.m.yy'
    },
    month: {
        dateFormat: 'MM yy'
    },
    week: {
        dateFormat: "w. 'týden' yy"
    },
    time: {
        timeFormat: 'h:mm'
    }
});</script>

Editoval Taps (19. 7. 2012 8:46)

voda
Člen | 561
+
0
-

Zkontroluj si jestli se ti skripty správně načítají. Nebo můžeš zkusit nahradit $('input[data-dateinput-type]') za jQuery('input[data-dateinput-type]').

jtousek
Člen | 951
+
0
-

Spíš bych to viděl na tradiční problém – JS v <head>, ale bez obalení jQuery.ready.

Taps
Člen | 169
+
0
-

jtousek: tak obalení pomohlo, žádná chyba už se nezobrazuje, ale po kliknutí do inputu se kalendář nezobrazí

jtousek
Člen | 951
+
0
-

V tom případě bude problém nejspíš jinde než v částech, které jsi ukázal.

Taps
Člen | 169
+
0
-

Postupoval jsem dle návodu
do boostrap.php jsem přidal

Vodacek\Forms\Controls\DateInput::register();

a pak v presenteru mám

use Vodacek\Forms\Controls\DateInput;
      protected function createComponentTerminyForm() {



        $form = new Form();


          $form->addDate('datum', 'Datum a čas',DateInput::TYPE_DATETIME)
            	 ->addRule(Form::FILLED, 'Datum musí být vyplněn');
  	  $form->addSubmit('create', 'Uložit');


        $form->onSuccess[] = callback($this, 'TerminyFormSubmitted');

        return $form;
}

Nenapadá mě kde by mohla být chyba

jtousek
Člen | 951
+
0
-

Pokud na stránce jsou přítomné všechny potřebné javascripty a klikání přesto nefunguje a přitom v konzoli není žádná chyba, bude problém někde v té JS části. Např. že se ty události onclick tlučou s nějakým dalším javascriptem na stránce apod. Neobjeví se v konzoli nějaká chyba při kliknutí? Máš tam CSS pro jQuery UI? To už vážně hádám, tady není od čeho se odpíchnout…

Taps
Člen | 169
+
0
-

jtousek: měl si pravdu. V kodu byl jiný javascript, díky kterému nefungoval DateInput

Ještě mám dotaz na autora skriptu: Pokud vkládám novou položku tak se v pořádku zobrazí okno pro výběr datumu, ale jakmile chci do inputu načíst hodnotu uloženou v db, tak input zůstane prázdný. Daný údaj je uveden v html kodu, ale nevykreslí se na stránce