laacz.lvlaacz.lv

Senākais rakstošais blogs Latvijā *
ANNO MIM *
Teju 100% cilvēka rakstīts saturs *

← Uz sākumu


IE un <option disabled="disabled"...>

2003. gada 10. oktobrī | 5 komentāri

Vakar man nācās sastapties ar kārtējo Internet Explorer nepilnību. Šī visādi citādi labā pārlūka izstrādātāji ir izdomājuši, ka elementam option parametrs disabled ir jāapstrādā programmētājam. T.i. — ja mēs šo parametru norādam kādam no saraksta (select) elementiem, lietotājs aizvien vēl būs tiesīgs izvēlēties šo elementu. Mozilla un Opera visnotaļ korekti to neļauj darīt.

Pasēroju un uzrakstīju maziņu javaskriptiņu, kurš ir specifisks IE. Ja nu kādam noder.

function option_do(form, element) {
    if (document.all) {
        var i = 0;
        var sel = document.forms[form][element];

        for (i = 0; i < sel.options.length; i++) {
            if (sel.options(i).disabled) {
                sel.options(i).style.color = '#999';
                sel.options(i).style.fontWeight = 'bold';
            }
        }

        ok = false;

        if ((sel.selectedIndex != -1) && 
            (sel.options(sel.selectedIndex).disabled)) {
            for (i = sel.selectedIndex; i < sel.options.length; i++) {
                if (!ok && !sel.options(i).disabled) {
                    sel.options.selectedIndex = i;
                    ok = true;
                }
            }
            if (!ok)
                for (i = sel.selectedIndex; i >= 0; i--) {
                    if (!sel.options(i).disabled) {
                        sel.options.selectedIndex = i;
                        ok = true;
                    }
                }
        }
    }
}
  }

Ierakstiem, kas vecāki par 42 dienām, komentēšanas iespēja tiek slēgta. Ja Tev aizvien ir ko teikt, dod ziņu jebkurā veidā, kurš norādīts teitan.

Gravatar es

2003. gada 10. oktobrī, plkst. 15:54

nu jau nu jau, laacz. javascript variables nesakas ar '$'..

Gravatar laacz

2003. gada 10. oktobrī, plkst. 15:55

Fixed :P :) Paarrakstiiju mazliet (optimizeeju) un kljuudiijos ;P

Gravatar delf

2003. gada 11. oktobrī, plkst. 09:19

nee nu izveleties jau var. vertibu tachu nenodod formai peec submita? jebshu nodod,- tad tas jaumuutu M$ coderu nolaidiiba?

Gravatar misame

2003. gada 13. oktobrī, plkst. 10:26

šitā rinda arī nav smuki: // if (!sel.options(i).disabled {// izskatās, ka trūkst aizverošās iekavas 1 gab pirms figūriekavas

Gravatar Krišs

2006. gada 27. februārī, plkst. 17:32

varbūt var vienkārši šitā: Ar domu - ja esi ieselectējis to, ko nedrīkst, tad tas tagad nebūs vis selectēts.