Autor Zpráva
Fero Ocel
Profil
Mám Form a v ňom select s tlačidlom < input type="submit" id="100" name ="100" value="ZMEN">
Takže v select si vyberiem hodnotu, stlačím tlačidlo ZMEN a takto mi funguje všetko, ako má.
Viď. kód

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">

    <select  id="select1" name="select1" >
        <option value="1" > 1 </option>
        <option value="2" > 2 </option>
        <option value="3" > 3 </option>
        <input type="submit" id="100" name ="100" value="ZMEN" />
    </select>
    
    <br />
    <br />
    <input type="submit" name="odoslat" value="ODOSLAŤ" />

</form>

Potrebujem ale, aby mi select reagoval bez stlačenia ZMEN, tak som doplnil select o onchange='this.form.submit()'
Ale potrebujem, aby mi onchange aktivovalo tlačidlo <input type="submit" id="100" name ="100" value="ZMEN" /> a nie hlavné tlačidlo Formu
<input type="submit" name="odoslat" value="ODOSLAŤ" />
Viď. kód po doplnení onchange='this.form.submit()'[


<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">

    <select class="hl-1a sel" id="select1" name="select1" onchange='this.form.submit()' > <!--  tu som doplnil o onchange  -->
        <option value="1" > 1 </option>
        <option value="2" > 2 </option>
        <option value="3" > 3 </option>
        <input type="submit" id="100" name ="100" value="ZMEN" /> <!--  potrebujem, aby mi onchange aktivovalo toto tlačidlo  -->
    </select>
    
    <br />
    <br />
    <input type="submit" name="odoslat" value="ODOSLAŤ" /> <!--  onchange mi aktivvuje toto tlačidlo čo je pre mňa nevyhovujúce -->

</form>

Ale v tomto prípade mi onchange='this.form.submit()' aktivuje hlavné tlačidlo formu ODOSLAŤ, čo je pre mňa nevyhovujúce.

Ako by sa dalo dosiahnuť Java scriptom, aby mi bolo aktivované po zmene hodnoty selectu automaticky tlačidlo ZMEN.

Vedel by mi niekto prosím poradiť. Vopred ďakujem.
Joker
Profil
Fero Ocel:
aktivuje hlavné tlačidlo formu ODOSLAŤ, čo je pre mňa nevyhovujúce
Opravdu?
Nemělo by to tak být, odeslání formuláře přes metodu submit by nemělo použít žádné konkrétní odesílací tlačítko.
Jestli potřebujete jedno konkrétní, zkuste prostě místo události odeslání formuláře vyvolat událost kliknutí na příslušné tlačítko.

Poznámka, ten kód je špatně napsaný, <input> nemůže být uvnitř <select>.
Druhá poznámka, JavaScript se píše bez mezery a není vhodné to psát s mezerou, budí to pak dojem, že to má něco společného s Javou.
Fero Ocel
Profil
Joker:
Opravdu?
Nemělo by to tak být, odeslání formuláře přes metodu submit by nemělo použít žádné konkrétní odesílací tlačítko.
Jestli potřebujete jedno konkrétní, zkuste prostě místo události odeslání formuláře vyvolat událost kliknutí na příslušné tlačítko.
>
>
Poznámka, ten kód je špatně napsaný, <input> nemůže být uvnitř <select>.
Druhá poznámka, JavaScript se píše bez mezery a není vhodné to psát s mezerou, budí to pak dojem, že to má něco společného s Javou.

No viete, je zaujímavé, že zatiaľ čo vy tu vypisujete nie veľmi podstatné veci a hlavne od veci, bez urážky, ale bez konkrétnej odpovede, tak na stránke http://stackoverflow.com/ som tento istý dotaz zadal neskôr a odpoveď, samozrejme konkrétna aj z kódom sa dostavila skôr, ako táto vaša blábola.

To je rozdiel, medzi tými, ktorý chcú a vedia poradiť a tými ktorý chcú len prudiť.
Pozrite tu: http://stackoverflow.com/questions/22436033/activating-concrete-button-type-submit-javascript-or-jquery

Inak tu sa môžete pozrieť, ako sa čo píše: http://stackoverflow.com/tags
Str4wberry
Profil
Jestli je cílem odeslat data z dalšího <input>u, stačí z type=submit udělat třeba type=hidden (nebo skrytý type=text) a data se pošlou.
Fero Ocel
Profil
Str4wberry:

Nie, nie dôležité je pre mňa, aby sa neodoslal formulár, respeltíve, nebola robená kontrola celého formulára. Ošetrené to mám tak, že pokiaľ je stlačené tlačidlo <input type="submit" id="100" name ="100" value="ZMEN" /> tak kontrola, ani odoslanie formulára nieje.
Len som nevedel spraviť JavaScript tak aby automaticky po výbere selectu bolo akoby stlačené tlačidlo <input type="submit" id="100" name ="100" value="ZMEN" />

Toto:

$(document).ready(function() {
    $('#select1').on('change', function(e) {$('#100').click();});
});

je to, čo som potreboval a funguje to tak, ako potrebujem.

Samozrejme, toto je len výpis kódu, aby som to objasnil. Na základe výberu zo selectu sa mi includne ďalší select ... a ja som potreboval zabrániť, aby mi neodoslalo formulár, respektíve nerobilo kontrolu vyplnenia políčok formuláru, čo pri klasickom onchange='this.form.submit()' robilo.

Odpoveď som dostal tu: http://stackoverflow.com/questions/22436033/activating-concrete-button-type-submit-javascript-or-jquery

Inak vám a všetkým, ktorý sa nad tým zamysleli a chceli pomôcť ďakujem.
Chamurappi
Profil
Reaguji na Fera Ocela:
je to, čo som potreboval a funguje to tak, ako potrebujem
Moc bych na to nespoléhal. CSS selektor #100 je špatně, za mřížkou nesmí být číslo, funguje to jen díky kdovíjak spolehlivému ohackování uvnitř jQuery.
Nevěřil bych, že <input> uvnitř elementu <select> bude fungovat stejně ve všech prohlížečích, i když vyzkoušené to nemám.

ja som potreboval zabrániť, aby mi neodoslalo formulár, respektíve nerobilo kontrolu vyplnenia políčok formuláru, čo pri klasickom onchange='this.form.submit()' robilo
Při form.submit() se nevyvolává událost onsubmit, kontrola se neprovádí.

samozrejme konkrétna aj z kódom sa dostavila skôr, ako táto vaša blábola
Pokud nerozumíš slušně napsané konstruktivní odpovědi bez toho, aby ti naservírovala hotové řešení, tak odtud laskavě vypadni. Parazite.
Joker
Profil
Fero Ocel:
zatiaľ čo vy tu vypisujete nie veľmi podstatné veci a hlavne od veci, bez urážky, ale bez konkrétnej odpovede, tak na stránke http://stackoverflow.com/ som tento istý dotaz zadal neskôr a odpoveď, samozrejme konkrétna aj z kódom sa dostavila skôr, ako táto vaša blábola.
A překvapivě se v té odpovědi píše:
- You'll need to move your submit button outside of the <select> element.
= Vyhodit <input>, aby nebyl uvnitř <select>
- Then you'll want to click on the correct submit button when the select elements value changes.
= Po změně <select> bude nutné vyvolat událost klik na tlačítko [namísto události submit]

…Takže přesně to samé, jako jsem psal já.

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