Keresés

Új hozzászólás Aktív témák

  • joysefke

    veterán

    megvan!!!!

    <script>

    var $origForm;
    var $newForm;
    $(document).ready(function () {
    $origForm = $("#rsvpForm").serialize();
    });

    $(document).ready(function () {
    $('#rsvpForm :input').on("change input", function () {
    $newForm = $("#rsvpForm").serialize();

    if ($newForm === $origForm) {
    $("#rsvpSubmit").prop('disabled', true);
    }
    else {
    $("#rsvpSubmit").prop('disabled', false);
    }
    });
    });
    </script>

    Na még nem teszteltem rendesen ki, de úgy tűnik azt csinálja ami nekem kell:
    betöltés után eltárolja a form állapotát szerializálva, ezután minden változás után automatikusan újraszerializála és ellenőrzi hogy megegyezik-e az új állapot a kezdőállapottal. Ha igen akkor a gombot letíltja, ha nem, akkor a gombot engedélyezi...

  • joysefke

    veterán

    válasz cattus #7100 üzenetére

    Köszi a választ!

    Ja és a pastebin-es kódban a jquery-t meg hasonlókat korábban húzd be, mint a saját kódod.

    Persze, próbáltam úgyis (sőt most már úgy van), de úgy sem ment.

    Nem kell semmit szerializálni, nem is tudom ezt honnan vetted.

    A te megoldásodban -amennyire ezt olvasni tudom- ha a user megváltoztja a form-ot, majd visszaváltoztja az eredeti állapotára, a disabled attribútum már nem fog visszakerülni ugye?

    Pont erre lenne a szerializálás, hogy elments a form eredeti, oldalbetöltés utáni állapotát és azzal tudd összehasonlítani az aktuális állapotot.

    Ma este még kipróbálom amit küldtél...

  • joysefke

    veterán

    Sziasztok! Kéne egy kis help, mert semennyire sem értek a javascripthez.

    A feladat egyszerű. Van egy user facing oldal, ahol van egy darab HTML-form. Szeretném a html form input mezőinek változását detektálni és csak abban az esetben láthatóvá/kattinthatóvá tenni a Submit gomot, ha változás történt.

    Bootstrap és jQuery is van, ezért jQuery-ben szeretném a megoldást. Egyébként az oldalt ASP .NET Core platformra fejlesztem VS-sel.

    Utánaolvastam és a megoldásnak úgy kéne működnie, hogy oldalbetöltés után szerializálom a formot és elmentem. Ezután a form minden input mezőjéhez hozzárendelésre kerül egy "change input" event handler ami a beviteli mező változásakor újra szerializálja a formot és az elmentett értékkel való egyezőség esetén eltünteti/deaktivála egyébként meg engedélyezi a Submit gombot.

    Ezt sikerült összekendácsolnom, de nem működik:

    <form id="rsvpForm">
    <button id="rsvpSubmit" class="btn btn-primary btn-submit" type="submit">
    Send
    </button>
    </form>

    <script>
    var $origForm;
    var $form
    $(document).ready(function () {
    $form = $("#rsvpForm");
    $origForm = $form.serialize();
    });

    $(document).ready("#rsvpForm:input").on("change input", function () {
    $("#rsvpSubmit").toggle($form.serialize() !== $origForm);
    });
    </script>

    Pastebin

Új hozzászólás Aktív témák