webForumDet fria alternativet

kolla om 'ENTER' tryckts ner

6 svar · 256 visningar · startad av ea

eaMedlem sedan mars 200149 inlägg
#1

Hallåjs,

jag vill kunna kolla varje gång en tangent trycks ner i en textruta, och när 'ENTER' trycks ner så skall formuläret skickas samt en "hidden"-variable sättas. Så här försöker jag nu, men det verkar inte funka.

Anropen från textboxen:

<input onkeypress="kollaKnapp('knapp');" value="<% =RecSetGlobal("Antal") %>" name="antalTimmar<% =addRadNummer(radNummer) %>" style="width: 30px; font-size: 8pt; font-family: verdana, arial">

Så här ser funktionen ut:

<SCRIPT Language="JavaScript">
function kollaKnapp(knapp) {
	if knapp = #13
		document.form.andratAntal.value='TRUE';
		document.form.submit();
		alert("Ändrat antal timmar");
}
</script>

/e:a

------------------
...information vill vara fri...

...dagens tips: skaffa msdn...

JohnsenMedlem sedan juli 2000836 inlägg
#2

För IE är det ganska enkelt:
Skriptet i head;

<script language="JavaScript">
function kollaKnapp(){
if(event.keyCode== 13){ //Det som skall hända här... }
}
</script>

och formuläret;

<form name="foo" onsubmit="return false;">
<input type="text" name="bar" onkeypress="kollaKnapp();">
</form>

Skall man blanda i NS4+, blir det lite krångligare.
Detta är ett sätt:
Skriptet i head;

<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){ //Det som skall hända här... }
}
</script>

och formuläret;

<form name="foo" onsubmit="return false;">
<input type="text" name="bar" onfocus="harFocus= 1" onblur="harFocus= 0">
</form>

------------------
- J-O-H-N-S-E-N -
------------------

eaMedlem sedan mars 200149 inlägg
#3

Tack så mycket Johnsen,undrar bara om du har någon aning om hur man kan göra motsvarande kontroll på ett sätt som gör snabbare än att låta en funktion kolla det varje gång man trycker på en knapp.

/e:a :q

------------------
...information vill vara fri...

...dagens tips: skaffa msdn...

JohnsenMedlem sedan juli 2000836 inlägg
#4

Ärligt talat fattar jag inte vad det är för kontroll du vill göra.
En utförlig beskrivning skulle hjälpa.

------------------
- J-O-H-N-S-E-N -
------------------

eaMedlem sedan mars 200149 inlägg
#5

Hallåj igen Johnsen, jo det är så här att jag skall skriva in ett antal i en textbox och när jag trycker på 'ENTER' så postas formuläret MEN en "hidden"-variabel skall också sättas om 'ENTER' trycks ner just detta specifika fältet.

/e:a

------------------
...information vill vara fri...

...dagens tips: skaffa msdn...

JohnsenMedlem sedan juli 2000836 inlägg
#6

Kan du inte bara kolla om värdet är ändrat med onchange i textboxen?

------------------
- J-O-H-N-S-E-N -
------------------

AgaithMedlem sedan jan. 2001191 inlägg
#7

Nu har jag följande kod för att testa detta med enterknappen.

Tänkte bara använda mig av javascript om NS 4 eller senare används.

<script language="JavaScript">
if((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 ))
{
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)
		{
		this.form.submit(); ///här är problemet...
		}
	}
}
</script>

<SCRIPT language="JavaScript">
if((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 ))
{
document.write("<form name='foo' onsubmit='return false' action='formular2.php'>");
document.write("<input type=TEXT name='hupp' onfocus='harFocus= 1' onblur='harFocus= 0'>");
document.write("<input type=TEXT name='huppa' onfocus='harFocus= 1' onblur='harFocus= 0'>");
document.write("<input type=TEXT name='huppb' onfocus='harFocus= 1' onblur='harFocus= 0'>");
document.write("<INPUT TYPE=SUBMIT VALUE='TRYCK'>");
document.write("</form>");
document.write("NS och >=4");
}
else
{
document.write("<FORM ACTION='formular2.php' METHOD='POST'>");
document.write("<INPUT TYPE=TEXT NAME='huppa'>");
document.write("<INPUT TYPE=TEXT NAME='hupp'>");
document.write("<INPUT TYPE=TEXT NAME='huppb'>");
document.write("<INPUT TYPE=SUBMIT VALUE='TRYCK'>");
document.write("</FORM>");
document.write("aslkdjhfelse");

}

</SCRIPT>
<NOSCRIPT>

<FORM ACTION="formular2.php" METHOD="POST">
<INPUT TYPE=TEXT NAME="huppa">
<INPUT TYPE=TEXT NAME="hupp">
<INPUT TYPE=TEXT NAME="huppb">
<INPUT TYPE=SUBMIT VALUE="TRYCK" TABINDEX=3>
</FORM>
NOSCRIPT!
</NOSCRIPT>
<?php
echo "<BR>$hupp";
echo "<BR>$huppa";
echo "<BR>$huppb";
?>

Under funktionen kollaKnapp skall något utföras, men vad???

har kollat på lite olika alternativ men får det inte att fungera (är helt grön på javascript), någon som vet?

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)