Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Czyszczenie pojedyńczego pola formularza.

entermen 26 Lis 2008 14:36 5343 9
  • #1 26 Lis 2008 14:36
    entermen
    Poziom 31  

    Witam.
    Chciałbym wyczyścic wybrane pole w formularzu na stronie.Podany niżej spsosó działa na fire fox oraz na Operze, a mnie zależy żeby zadziałał na
    Ineternet Explorer 7. Jak mogę to zrobić?


    W <form> mam taki dopisek onselect="return sprawdz(this);">

    Selectem wybieram pole do czyszczenia.



    <select name="lista">
    <option value="numer" onclick="this.form.numer.value=''"/>Wyczy¶ć nr tel.</option>
    <option value="tekst" onclick="this.form.tekst.value=''"/>Skasuj tekst</option>
    <option value="podpis" onclick="this.form.podpis.value=''"/>Wyczy¶ć podpis</option>
    </select>
    [/b]

    0 9
  • #2 27 Lis 2008 07:17
    mietekn
    Poziom 35  

    Spróbuj w ten sposób:

    Code:
    <script type="text/javascript">
    
    function clickclear(thisfield) {
    thisfield.value = "";
    }
    </script>

    <option value="tekst" onclick="clickclear(this)">Skasuj tekst</option>

    0
  • #3 27 Lis 2008 08:58
    entermen
    Poziom 31  

    Niestety nie działa na IE7 to rozwiązanie.
    Działa na Operze i i fire foxie.

    Dzięki za zainteresowanie tematem.

    0
  • #4 27 Lis 2008 10:48
    mietekn
    Poziom 35  

    Wklej/załącz więcej kodu by można było znaleźć przyczynę.

    0
  • #5 27 Lis 2008 11:06
    entermen
    Poziom 31  

    Mnie chodzi tylko o to, żeby coś podobnego zrobić z poziomu select.
    Rozwijam i wybieram pole do czyszczenia.

    Wzorowałem sie na tym. Tutaj jest na submit i to działa.
    Ale jeżeli jest dużo pól w formularzu to dla każdego trzeba by robić odrębny przycisk.

    <html>
    <form action="index.php" method="get" onsubmit="return sprawdz(this);"><div>
    <input type="text" name="pole1" value="tekst w polu 1" /><br />
    <input type="text" name="pole2" value="tekst w polu 2" /><br />
    <input type="button" value="Czyść pole 2"
    onclick="this.form.pole2.value=''"/><br />
    <input type="submit" value="Wyślij" />
    </div></form>
    </html>

    0
  • Pomocny post
    #6 27 Lis 2008 12:03
    mietekn
    Poziom 35  

    W Internet Explorerze brakuje implementacji onClick w option. Proponuje więc zrobić to np w ten sprsób:

    Code:
    <form>
    
    <input name="numer" value="numer"/>
    <input name="tekst" value="tekst"/>
    <input name="podpis" value="podpis"/>

    <select name="lista">
    <option value="numer">Wyczysc nr tel.</option>
    <option value="tekst">Skasuj tekst</option>
    <option value="podpis">Wyczysc podpis</option>
    </select>
    <input type="button" name="button" value="czysc"
    onclick="if (this.form.lista.value=='numer') this.form.numer.value='';
    else if (this.form.lista.value=='tekst') this.form.tekst.value='';
    else if (this.form.lista.value=='podpis') this.form.podpis.value='';
    ">
    </form>

    0
  • Pomocny post
    #7 27 Lis 2008 13:08
    szwagros
    Poziom 30  

    A nie można po prostu tak ?

    Code:
    <form name="forma">
    
    <input name="numer" value="numer"/>
    <input name="tekst" value="tekst"/>
    <input name="podpis" value="podpis"/>

    <select name="lista" onchange="document.forms['forma'].elements[this.value].value='';">
    <option value="numer">Wyczysc nr tel.</option>
    <option value="tekst">Skasuj tekst</option>
    <option value="podpis">Wyczysc podpis</option>
    </select>

    </form>

    Pozdrawiam

    0
  • #8 27 Lis 2008 17:41
    entermen
    Poziom 31  

    Kodu więcej nie ma poza znacznikami <html>, <body> itd.
    To ma być tylko prosty forumlarz możliwością wybory pola do czyszczenia.

    Dodano po 13 [minuty]:

    Sposób kolegi Szwagrosa działa, ale jest jeden mały myk.
    Po rozwinięciu opcji i wybraniu tej pierwszej opcji to nieczyści tego pola.
    dopiero np jak pierswze pole będzie wybrane jako drugie lub kolejne.


    Sposób kolegi Mietekan działa w ten sposób, że trzeba wybrać opcję z listy a potem kliknąć przycisk i czyści to pole.

    Dziekuje za zainteresowaie tematem. I mam małe pytanie do kolegi Szwagrosa. Czemu nie można pola pierwszego z listy wyczyścić jako pierwszego, tylko np jako drugiego?Chodzi mi o to, że njapierw musze wybrać opcję dajmy na to 2, a potem dopiero moge wyczyscic ta 1 z listy.

    0
  • #9 27 Lis 2008 20:13
    mietekn
    Poziom 35  

    onChange jak sama nazwa mówi wywoływana jest przy zmianie, musi się więc coś zmienić by było wywołane. Jak wywołujesz pierwszy z listy to jeszcze nie ma zmiany wartości.

    0
  • #10 28 Lis 2008 06:55
    szwagros
    Poziom 30  

    Można nieco zmodyfikować.

    Code:
    <form name="forma"> 
    
    <input name="numer" value="numer"/>
    <input name="tekst" value="tekst"/>
    <input name="podpis" value="podpis"/>

    <select name="lista" onchange="if(this.value) document.forms['forma'].elements[this.value].value='';">
    <option value="">Wybierz pole do wyczyszczenia</option>
    <option value="numer">Wyczysc nr tel.</option>
    <option value="tekst">Skasuj tekst</option>
    <option value="podpis">Wyczysc podpis</option>
    </select>

    </form>

    Pozdrawiam

    0