# Todella mukava cross-browser-menetelmä, jolla tehdään M SK1DefaultButtons' asia - niin, että kun te painatte enterMSC4 oikean liitteen \'clicks \'

<datetime class="hidden">2004-03-24T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, ASP.NET, JavaScript, Web Development -->
Tämä on yksi tärkeimmistä UI-ongelmista, jotka johtuvat pääasiassa ASP:stä [Darrell](http://dotnetjunkies.com/WebLog/darrell.norton/) huomauttaa, että on olemassa useita ratkaisuja, mutta yksikään niistä ei todellakaan ratkaise koko ongelmaa. [Darrell Nortonin blogi](http://dotnetjunkies.com/WebLog/darrell.norton/) ([linkki](http://dotnetjunkies.com/WebLog/darrell.norton/archive/2004/03/03/8374.aspx)): (toistetaan täällä, koska en enää koskaan löydä sitä muulla tavalla.

> ## [*Tarkoitettavien polttojen jättäminen käyttöön, kun käyttäjä painaa Enter-kysymystä - lopullisesti !*](http://dotnetjunkies.com/WebLog/darrell.norton/archive/2004/03/03/8374.aspx)
> 
> *Yksi vaikeimmista asioista verkkosivujen kehittämisessä on saada tietty laatikko toimitettavaksi, jos sivussa on enemmän kuin yksi laatikko.* [*Metarakentajat*](http://www.metabuilders.com/) *kuuluisa, on yksi, joka toimii myöhässäM SK1mallilähettäjät.*
> 
> *Julkisen sähköisen kaupankäynnin verkkosivuston melko tiukkojen asiakkaiden vaatimusten vuoksi tarvisin jotakin, joka menisi vielä pidemmälle matkailijoiden historiassa.* [*Janus Kamp Hansen*](http://www.kamp-hansen.dk/pages/showdoc.asp?id=28&menuid=21&menuid=18) *, joka toimi vain IE.*
> 
> *Olen laajentanut sitä, jotta se toimisi Mozillan ja Netscapen kanssa. 6+, Sitten lisäsin lisää koodia, jonka avulla se voisi toimia useimpien Netscape-lähteiden kanssa.*
> 
> *Ensimmäinen, kopioi tämän menetelmän helposti saatavilla olevaan paikkaan*
> 
> *julkinen tyhjiö SetDefaultButton(Page page, TextBox textControlM SK2 Tappi defaultButton≥)*
> 
> *{*
> 
>       *// Sets default buttons.*
>     
>       *// Originally created by Janus Kamp Hansen - http://www.kamp-hansen.dk*
>     
>       *// Extended by Darrell Norton - http://dotnetjunkies.com/weblog/darrell.norton/* 
>     
>       *//   -- added Mozilla support, fixed a few issues, improved performance*
>     
>       *string theScript = @"*
> 
> *&lt;SCRIPT-kieli=""javascript""&gt;*
> 
> *Funktio fnTrapKD(btn, tapahtumaM SK2*
> 
> *jos (asiakirja*
> 
> *jos (eventM SK1kysymyksiä koskeva koodi*
> 
> *event.returnValue =falseM SK2*
> 
> *tapahtuma.lopettaa M SK1 totta;*
> 
> *btn.click();*
> 
> *}*
> 
> *}*
> 
> *Muuten, jos (asiakirja.getElementByIdM SK2*
> 
> *jos (eventM SK1mikä == 13){*
> 
> *event.returnValue =falseM SK2*
> 
> *tapahtuma.lopettaa M SK1 totta;*
> 
> *btn.click();*
> 
> *}*
> 
> *}*
> 
> *Muussa tapauksessa*
> 
> *jos(event.mikä M SK2 13){*
> 
> *event.returnValue =falseM SK2*
> 
> *tapahtuma.lopettaa M SK1 totta;*
> 
> *btn.click();*
> 
> *}*
> 
> *}*
> 
> *}*
> 
> *&lt;/SCRIPT&gt;";*
> 
>       *Page.RegisterStartupScript("ForceDefaultToScript", theScript);*
>     
>       *textControl.Attributes.Add("onkeydown", "fnTrapKD(" + defaultButton.ClientID + ",event)");*
> 
> *}*
> 
> *Tämä koodi rekisteröi annetun skriptin Page:n kanssa.*
> 
> *Dokumentti.kaikki, jos julkilausuma kattaa IE:n*
> 
> *Nyt liitetään kutakin haluamaanne tekstilaatikkoa yhdistävä koodin rivi tiettyyn esittämispakoon. EsimerkkinäM SK1*
> 
>       *SetDefaultButton(this, TextBox1, Button1);*
>     
>       *SetDefaultButton(this, TextBox2, Button2);*
>     
>       *SetDefaultButton(this, TextBox3, Button3);*
> 
> *Tavallisesti asetan sen sivuun\_Load,Pagesta lähtienM SK2RegisterStartupScript-menetelmä jättää huomiotta päällekkäiset skriptitMSC3 Nyt on yksinkertaisesti kyse soittamisesta SetDefaultButton -järjestelmään kullekin tekstilaatikkolleMST4submit-puppuyhdistystä koskevaan assosiaatioon .*
> 
> *En ole vielä testatnut tätä laajasti, ja osa JavaScriptista saattaa olla tarpeetonta. Kun otetaan huomioon Netscapen versionien määrä M SK3, ( ja niiden hätiköisyysMSC5 se ei luultavasti toimikaan kaikkiin niihin.*