28. februar 2005 - 20:03Der er
13 kommentarer og 1 løsning
Find ud af hvor focus er når jeg submiter
Hej Jeg har dette lille problem, jeg har et script som submiter for mig når jeg trykker på et link, lige ind over har jeg et textbox men når jeg trykker enter i den så submitter den på min rigtig submit knap. Så jeg ville hører om man kan test hvor ens focus er, for hvis den stå i textboxen så skal den kører mit script og ikke submitte, og jeg vil helt bruger et eller andet så jeg ikke kan skrive noget i min form
min nu værene kode ser sådan her ud, <script language="javascript" type="text/javascript"> function Logind() { if (navigator.appName == 'Microsoft Internet Explorer') { if (event.keyCode == "13") { __doPostBack('Top1$Ventre1$Logind_Box1$LinkButton_Logind',''); } } }
</script>
og mit tekst felt <input name="Top1:Ventre1:Logind_Box1:TextBox_Bruger_Navn" type="text" id="Top1_Ventre1_Logind_Box1_TextBox_Bruger_Navn" class="Menu_tekst_felter" onkeyup="Logind()" />
og virker også fint hvis der ikke er andre submit knapper på side. Men så snart der kommer en anden også når jeg klikker enter i mit tekst felt så submitter den på den anden knap, og det er lige det jeg vil havde lavet om så hvis jeg stå i tekst feltet og trykker så skal den submit. __doPostBack('Top1$Ventre1$Logind_Box1$LinkButton_Logind',''); eller kører det der
Jeg ville tænke i, at sætte en variabel, men hvis du ikke ønsker at skrive noget på felterne i formen, er det ikke muligt, og så findes der såvidt jeg ved ikke nogen metoder ...
Lad os prøve en anden vej rundt. At bruge en submitknaps navn til at angive en kontekst er sjældent en god løsning - selvom den ofte bruges. Sæt i stedet et hidden field. Samtidig kan vi udnytte det faktum, at en forms onsubmit-event ikke fyres af, når der submittes via JavaScript. Test f.eks. dette eksempel:
Bare paste koden ind i et tomt HTML-dokument, så du kan se i adresselinien, hvad der sker. Så skulle du efterfølgende sagtens kunne overføre koden til din egen form. Selvom det nok er overflødigt at nævne, så skal du på serveren teste på feltet 'contxt', for at finde ud af, hvilken knap, brugeren klikkede på ;o)
olebole, jeg kan ikke rigtig bruge den løsing, for problemmet sker når jeg trykker enter i mit bruger_navn for så vil den jo submitte på den "rigtig" submit knap, og ikke submitte på mit link. Som er en asp.net link button.
Det har du ret i. Men hvis eks ikke er brugbart så kan jeg nu ikke se den stor ide, men eller er det fordi jeg ikke forstå hvad du vil havde ud af jeg prøver eks?
Det kunne hjælpe, hvis du afprøvede koderne, vi foreslår dig. Da du ikke er i stand til at afgøre, om det er noget, du kan bruge - og så er du nødt til at prøve det, vi skriver. Så kan jeg i øvrigt fortælle dig, at det, jeg har skrevet til dig, gør, at du ikke kan submitte formen ved at trykke 'Enter' i nogen af felterne - og at du får sat forskellige værdier på variablen 'context', alt efter hvilken knap, der bliver submittet med. Det er, hvad du efterlyser ... det er, hvad du har fået
at du ikke kan submitte formen ved at trykke 'Enter' i nogen af felterne <- svar den kode som jeg har paste ind, gør jo lige det, at den tester om det tryk som blever skrivet i et tekst felt er et enter tryk.
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.