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

  • trisztan94

    őstag

    válasz Sk8erPeter #1895 üzenetére

    Aha, értem! :D Lehet, hogy én értettem félre, nekem abszolút az jött le, hogy a leg- lepkefingnyi kódot is pluginba írjuk, mert az milyen jó. Hát kicsit fogtam a fejem.. :D Mondjuk németül volt a blog, azt csak középszinten tudom, lehet bekavartam valamit :F

    "Mik azok a "sima hívások"?"
    $('#valami').click(function() {
    //do stg
    });

    Ezek helyett a "sima hívások" (van erre valami szakkifejezés? nem jut eszembe :DDD) helyett használom most így:

    $('#valami').click(function() {
    something();
    });
    function something(){
    //do stg
    }

    Persze nem ennyire leegyszerűsítve, mindig az újraírhatóságra gondolok, mindegyiknél lehet változókat átadni stb..

    Én próbálok mindig objektum orientált lenni, sokszor kísért meg a "sötét oldal", hogy inkább lesz*rom, gányolok, úgy is működni fog, de most már inkább levágom véder fejét a barlangban, szembe nézek vele és megírom szépen :D

    Teljesen más (mix ASP.Net is van benne):

    Még mindig a kódfeltöltés résznél az oldalamon:
    Lőn egy div, mi nem látszódik, hacsak nem kattintunk egy linkre, mely mondja néki, hogy: "látszódjál, DIV!"
    Na, viccet félretéve:
    Tehát lehetősége van a felhasználónak leírást írni a kódrészlethet, de ez opcionális lehetőség. Amikor a felhasználó a linkre kattint, egy <textarea>-t tartalmazó <li> slideDown-ol.
    Eddig minden stimmel, itt van róla jsfiddle példa.
    Eddig teljesen okés a dolog, tökéletesen üzemel, sok mindent nem lehet elrontani.
    A probléma ott lőn, hogy az ASP.net tartalmaz egy nagyon handy szerveroldali validációt. Nos ott ugye megadtam, hogy 10 és 1000 karakter között legyen a textarea szövege, ha ez nem jó szépen oda appendeli alá a validationerror-t így néz ki ez asp-be (de ez ugye teljesen irreleváns):

    Validation.Add("CodeSnippetDescription", Validator.StringLength(1000, 10, "A leírásnak 10 és 100 karakter között kell lennie."));

    Így néz ki a html kódja a jsfiddle példának, ott kivettem belőle az ASP-s validation cuccokat, hogy ne zavarják a megjelenést:

    <li class="CodeSnippetDescription">
    <label for="CodeSnippetDescription">Kódrészlet leírása</label>
    <textarea id="CodeSnippetDescription" name="CodeSnippetDescription"@Validation.For("CodeSnippetDescription")></textarea>

    @Html.ValidationMessage("CodeSnippetDescription")
    </li>

    Nos ezzel az a baj, hogy mivel mindig ott van a textarea, így ha a felhasználó nem akar leírást hozzáadni, akkor is fogja mondani, hogy kell a 10 karakter. Ezt úgy akarom kiküszöbölni, hogy jQuery-be, hozzá .append-olom a textarea-t a <li>-hez, és akkor minden nagyon szép és jó lesz, mert ha akar hozzáadni leírást akkor benne lesz a DOM-ban, ha nem akkor pedig nem tud mire validálni. (ezt majd try-catch-el fogom megoldani szerintem). Amikor pedig a leírás visszavonására kattintunk, akkor meg remove-olja a textarea-t, így az is szintén rendben van.
    A probléma ott van, hogy sehogy sem akarja appendolni a <li>-n belülre az oda tartozó dolgokat.
    Próbáltam több féle képpen is:

    $('.CodeSnippetDescription).children().append("<p>hello</p>");
    $('.CodeSnippetDescription).append("<p>hello</p>");

    Sehogy sem rakja bele abba a fránya <li>-be.. Megfájdul a fejem esküszöm. Biztos valami nagyon egyszerű cucc ami most nem jut eszembe :D

    Tehát összegzés:
    Szeretnék egy <li>-n belülre appendolni egy textarea-t.

    Update: Az append az nem egy szinten van a DOM-ban a <li>-vel? Tehát ha jól értem, akkor nem a <li>-re kéne append-olni, hanem az ő containerjére, nem? A <li> parent-ja egy <ol>, annak a parentja egy <fieldset>. Mostmár csak arra kéne rájönnöm, hogy hogy appendolom a <li>-n belülre. Esetleg appendTo?

    Vagy más ötlet/megoldás? Nagyon túlbonyolítom? Hogy csinálnád ezt PHP-ban?

    [ Szerkesztve ]

    https://heureka-kreativ.hu

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