webForumDet fria alternativet
Logga in / Bli medlem

events i en textruta

JavaScript

8 svar · 233 visningar · startad av theguru

Medlem sedan juli 2000411 inlägg
Frågan#1

Hej!
jag vill submit en sida när jag står i en ruta och klicka på enter knappen.
Nu undrar jag finns det inget onenter eller nåt liknande som man kan använda det finns ju t.ex onclick, vad finns det mer för alternativ

Medlem sedan juli 2000411 inlägg
#2

Jag omformulerar frågan.
Hur gör jag när jag vill submita ett formulär genom att klicka enter när jag står i en textruta.

Medlem sedan juni 20004 308 inlägg
#3

Använd sökfunktionen så hittar du denna tidigare tråd.

Medlem sedan juli 2000411 inlägg
#4

Jag kunde inte få det att funka med hjälp av den info som fanns på länken!
Jag provade att kopiera koden och ändra så den skulle passa för mig, men jagb kommer inte ens till javascriptet när jag trycker enter.
Kan man på nåt sätt stänga eller sättta på att en asp sida ska svara på enter knappen?

Medlem sedan juni 20004 308 inlägg
#5

ASP har inget med saken att göra eftersom detta sker på klient-sidan, alltså i användarens webbläsare. Här är ett komplett exempel från tidigare nämnd tråd;

<script language="JavaScript">
if(document.layers){window.captureEvents(Event.KEYUP); window.onkeyup= kollaKnapp;}
if(document.all){document.onkeyup= kollaKnapp;}
harFocus= 0
function kollaKnapp(e) {
keyNum = (document.all)? event.keyCode : e.which; 
if(harFocus== 1 && keyNum== 13){ document.myform.submit(); }
}
</script>

<form name="myform" action="sida.asp" method="post">
<textarea onfocus="harFocus=1" onblur="harFocus=0"></textarea>
</form>
Medlem sedan juli 2000411 inlägg
#6

Kan få detta att funka för hela formuläret så att när man klicak enter så submitas sidan?

Medlem sedan juli 2000411 inlägg
#7

Jag har gjort på följande sätt.

funktionen

function LaddaOm(action, theForm, Value)
{

if(event.keyCode== 13)
{	
theForm.txtOrderBy.value=Value;
theForm.hidSubmitAction.value = action;
theForm.submit();
}

}

och textrutan så här

<input onkeypress="LaddaOm('Search', this.form, 'R.UserNo');" class="text" type="text" size="15" maxlength="40" name="txtProductProgram" value="<%=lsProductProgram%>" onmouseover="window.status='The name of the product or program.'">

men jag skulle vilja att detta gällde jämt om jag tryckte enter, när jag är på sidan.

Medlem sedan juni 20004 308 inlägg
#8

Jag har gjort på följande sätt.

Jasså... Varför kan du inte göra som i exemplet så funkar det? ;)

Vill du använda en text-ruta (type="text") skriver du;

<script language="JavaScript">
if(document.layers){window.captureEvents(Event.KEYUP); window.onkeyup= kollaKnapp;}
if(document.all){document.onkeyup= kollaKnapp;}
harFocus= 0
function kollaKnapp(e) {
keyNum = (document.all)? event.keyCode : e.which; 
if(harFocus== 1 && keyNum== 13){ document.myform.submit(); }
}
</script>
<form name="myform" action="sida.asp" method="post">
<input type="text" name="foo" onfocus="harFocus=1" onblur="harFocus=0">
</form>

Vill du att [enter] submitta formuläret, oavsett om en text-ruta är aktiv plockar du bort onfocus="harFocus=1" onblur="harFocus=0" och lägger till
onload="harFocus=1" i <body>-taggen för sidan.

Medlem sedan juli 2000411 inlägg
#9

Jag har fått det att funka nu!
Tack för all hjälp :)

252 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)