Njn, zacatecnik v php / js / html. Tam se to dost pere na nazvech a logice.
Prvne musis pochopit, ze php je jakysi program, ktery vygeneruje soubor. Vetsinou je to soubor htm, ale umi i obrazky, css a dalsi. Ten soubor bud odesle uzivateli nebo ulozi na zvolene misto na server, podle toho, co mas v kodu (echo '' nebo fwrite()).
Kdyz mas html stranku v prohlizeci uzivatele, das odeslat, poslou se data na php. Php z toho neco vygeneruje, treba html, a posle zpet uzivateli.
Kdyz mas ajax v js, tak to funguje podobne, akorat mas ta data ulozene do nejake promenne a nenacita se kvuli tomu cela stranka ze serveru.
$result .= '<button class="btn btn-success" type="submit" onClick="{ nestedAccordion.pr(0,0) }" style="margin-' . $GLOBALS["right"] . ':32px;" name="' . $this->GetId() . '">' . PHP_EOL .
Co to vygeneruje za html kod? (www prohlizec - zobrazit zdrojovy kod stranky / ve FF treba pres prave tlacitko v submenu). Predpokladam, ze neco takoveho:
<button class="btn btn-success" type="submit" onClick="{ nestedAccordion.pr(0,0) }" style="margin-right:32px;" name="12345">
Hned tam muzes videt nejake nesrovnalosti. Nic, co by jaksi asi melo delat problem.
- name by melo zacinat pismenem
- u onclick nemusi byt slozene zavorky a obvykle se to pise malymi pismeny
- co tam dela style? Od toho tam mas ty class.
No, a ted, ty chces, aby se po vypsani tohoto kodu spustil nejaky script? Ale v tom kodu mas zadane, ze se spousti ten script az na kliknuti na tlacitko. <button onlick=...>. Takze by musel uzivatel dodatecne navic kliknout. Script se spousti pres script tag.
<script>nestedAccordion.pr(0,0);</script>
K tomu tvemu butonu, jeste
- !!! kdyz mas tlacitko typu submit, tak zcela logicky odesila formular. kdyz tam pridas onclick, tak se spusti ten js a pak odesle formular. Kdybys chel zabranit odeslani, muselo by tam byt return false;
<button type=submit onclick="x='123';return false">
Lepsi je, kdyz se script navaze primo na formulare, kdyz chces neco takoveho udelat nebo treba kontrolu spravneho vyplneni formulare a bud pak formular odeslat nebo vypsat nejake chybove hlasky a formular neodesilat
<form onclick="x='123'; if x=='123' {return true;} else {alert('chyba';); return false;}">
<button type=submit >
</form>
To samozrejme muzes krasne zabalit do funkce.
<form onclick="return fff();">
<button type=submit >
</form>
<script>function fff () {x='123'; if x=='123' {return true;} else {alert('chyba';); return false;}}</script>
Funkce, kdyz tam nic nenapises, tak vraci true, pokud se vykona. Kdyz je submitovani true, tak se to odesle.
onClick="{ nestedAccordion.pr(0,0) }"
onClick="{ nestedAccordion.pr(0,0) }; return true;"
Konkretne tohle je zapis objektu (resp by mohl prohlizec zahlasit nejakou chybu, jestli umis hledat chybova hlaseni)
onClick="{ nestedAccordion.pr(0,0) }"
onClick="{ nejakafunkce() }" - totez, jakoze stejny vysledek z jsm cili true
onClick="{ true }" - totez
onClick="{ 0: true }" - totez (ale ta nula by prohlizeci mohla vadit)
onClick="{ 0: nestedAccordion.pr(0,0) }" - totez
Kdyz bys chtel dal s objektem pracovat
onClick=" x = { nestedAccordion.pr(0,0) }; alert(x[0])"
onClick=" x = { 0:nestedAccordion.pr(0,0) }; alert(x[0])"
Ano, do objektu (asociativniho pole) lze zapisovat vysledky funkci.
Ty jo, snad jsem te ted nezahltil informacemi (a snad tam nemam moc chyb). Zkratka plati to s tim <script> a ne <button>, co mas ty.