Avatar billede anhansen Nybegynder
01. december 2003 - 13:06 Der er 10 kommentarer og
1 løsning

Brug af genveje i webform

Hej..

Jeg har et problem, jeg har følgende udsnit af min kode. Det jeg gerne vil er at hvis jeg står i tekstfeltet og skriver, og trykker på enter, så trigger knappen ved siden af.
Hvordan gør man det?
Jeg har fået puttet en alt+s på, men det er ikke det jeg helst vil.
Her kommer koden:
    <body>
        <form id="SearchCompany" method="post" runat="server">
            <uc1:menu id="Menu1" runat="server"></uc1:menu>
            <table class="Main" width="100%" bgcolor="#f1f3f7" cellspacing="0">
                <TBODY>
                    <tr class="DialogHeading">
                        <td>Søge efter firma</td>
                    </tr>
                    <tr bgcolor="#f6f7fa">
                        <td class="Label">Indtast søgeord</td>
                    </tr>
                    <tr bgcolor="#f6f7fa">
                        <td vAlign="top">
                            <P>
                                <asp:TextBox id="tbSearchWord" runat="server" Width="336px" MaxLength="50" tabIndex="1" AutoPostBack="True"></asp:TextBox>
                                <asp:Button id="btnSearch" runat="server" Text="søg" Width="72px" tabIndex="2" accessKey="S"></asp:Button>
Avatar billede lauge Nybegynder
01. december 2003 - 13:12 #1
Avatar billede anhansen Nybegynder
02. december 2003 - 07:58 #2
Jeg har afprøvet dit indlæg, men synes ikke jeg kan få det til at virke... Jeg kan ikke helt gennemskue hvad der går galt.. Jeg skriver i c# i koden, så har "oversat" det til det..
Jeg venter lige lidt med point, men det ligner en rigtig fornuftig løsning..
Avatar billede anhansen Nybegynder
02. december 2003 - 08:47 #3
Nu har jeg prøvet det i et andet projekt... Nøjagtig samme kode og det virker GREEAAT!! Det andet projekt vil slet ikke nykompile.. Meget mærkeligt.. alle ændringer jeg laver bliver ikke registreret.. Lidt træls synes jeg...

Men her kommer koden jeg har brugt i c# versionen... ;-)

        public void DefaultButton(System.Web.UI.Page Page , TextBox objTextControl,Button objDefaultButton )
        {
            //Sets default buttons.
            //Created by Janus Kamp Hansen - http://www.kamp-hansen.dk
            System.Text.StringBuilder sScript = new System.Text.StringBuilder();

            sScript.Append("<SCRIPT language=\"javascript\">\n");
            sScript.Append("function fnTrapKD(btn){\n");
            sScript.Append(" if (document.all){\n");
            sScript.Append("  if (event.keyCode == 13)\n");
            sScript.Append("  { \n");
            sScript.Append("    event.returnValue=false;\n");
            sScript.Append("    event.cancel = true;\n");
            sScript.Append("    btn.click();\n");
            sScript.Append("  } \n");
            sScript.Append(" } \n");
            sScript.Append("}\n");
            sScript.Append("</SCRIPT>\n");

            objTextControl.Attributes.Add("onkeydown", "fnTrapKD(document.all." + objDefaultButton.ClientID + ")");
            Page.RegisterStartupScript("ForceDefaultToScript", sScript.ToString());
        }

Og igen bruges det med :
DefaultButton(Page, myTextBox, myButton);

Kører desuden fint med imagebuttons også..
Smid et svar - så får du alle pointsene..
Avatar billede lauge Nybegynder
02. december 2003 - 09:00 #4
sådan her gør jeg selv - og det virker fint :

Smid dette i headeren:

        <SCRIPT language="javascript">
        function submitButton(){
       
        if (document.all){
            if (event.keyCode == 13)
            {
            event.returnValue=false;
            event.cancel = true;
            document.all.<%=ImageButton1.ClientID%>.click();
        }
        }
        }
        </SCRIPT>



Søge felt :
<asp:textbox id="TextBox1" columns="19" runat="server" onkeydown="submitButton()"></asp:textbox>

Søge knap :
<asp:imagebutton id="ImageButton1" causesvalidation="False" runat="server" alternatetext="Klik her for at søge" imageurl="soeg.gif" height="22" width="34"></asp:imagebutton>

Og så skal du jo så bare udfører søgningen fra en CodeBehind side....
Avatar billede anhansen Nybegynder
03. december 2003 - 07:33 #5
Ja... Så kan jeg da kommer videre... Men det er mærkeligt... Min det virker som om min side slet ikke læser Page_Load.. Det burde den da gøre hver gang... Jeg har sat en Response.Redirect("www.google.com") ind i page_load.. Og der sker ikke en kæft...
Har du en ide om, hvorfor den ikke udfører page_load?
Avatar billede anhansen Nybegynder
03. december 2003 - 07:54 #6
Det virker når bare man smider scriptet over i aspx filen. Så er alt næsten fryd og gammen.. Sålænge man kun har en knap. Hvis man har flere knapper er den første løsning vist nemmest.
Det eneste der generer mig er at siden ikke udfører den page_load.
Men smid et svar, så jeg kan komme af med de point.. De brænder i lommen.. hehe... ;-)
Avatar billede quaser Nybegynder
03. december 2003 - 21:37 #7
Vedr. load af page_load

Hvis du har følgende i page directory:
<%@ Control Language="c#" AutoEventWireup="false"

Skal du have have page_load eventen tilføjet i OnInit. Her er hvad vs.net laver som standard:
override protected void OnInit(EventArgs e)
{
    InitializeComponent();
    base.OnInit(e);
}
private void InitializeComponent()
{   
  this.Load += new System.EventHandler(this.Page_Load);
}
Avatar billede anhansen Nybegynder
04. december 2003 - 11:24 #8
Tres cool quaser...
Det er så dejligt når man er blevet ansat til at arbejde videre med et projekt som en anden har lavet.. Der sker nogle gange nogle underlige ting som man aldrig selv har lavet før... Når jeg sætter load eventet tilbage i initialize virker alt som det skal..
Fornemt..
Smid nogle svar.. så fordeler jeg retfærdigt derefter... Lauge får størstedelen da han svarede på mit oprindelige spørgsmål.. Og quaser får en smule for hjælpen med andet punkt... ;-) Håber det er i orden for begge to
Avatar billede quaser Nybegynder
04. december 2003 - 13:01 #9
jep jep :)
Avatar billede anhansen Nybegynder
08. december 2003 - 08:11 #10
Hmm... nu må ham lauge da snart se at komme op af stolen... ;-)
Avatar billede anhansen Nybegynder
06. januar 2004 - 08:12 #11
Hmm... lauge vil åbenbart ikke ha point.. Så Quaser.. here ya go!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester