Hej, "väldigt sum om användaren använder Enter.... " oj, "väldigt dumt.." menade jag. Sorry... Joachim, Jag öppnar tråden igen eftersom jag har fler frågor.. Löste det så här: Joachim, Håller med dig generellt, men nog är det väl samma fråga i denna tråd?Knapphantering i formulär
På en sida har jag ett antal knappar.
Hur gör man för att förhindra att något postas när användaren trycker på enterknappen på tangentbordet, eller någon knapp)?
Beroende på var man står i formuläret verka olika knappar bli aktiva och det blir det väldigt sum om användaren använder Enter....
/JockeSv: Knapphantering i formulär
sum? Vad menar du?
vad jag vet kan man inte stänga av det, man kan sätta fokus med javascript på annat så kan det lösa dit problem. Annars får man väl helt enkelt göra en postback om man måste trycka enter :-)
mvh JohanSv:Knapphantering i formulär
Men detta kan väl inte vara så ovanligt problem eller? Finns det inget smartare sätt än javascript?
/JockeSv: Knapphantering i formulär
Nix inte vad jag känner till. Då allt baseras på hur klineten (IE eller Mozilla...) gör. Så måste man där strya detta.
Mvh JohanSv: Knapphantering i formulär
Nu har jag lagt ett javasrcipt som anropas varje kontroll om man trycker enter:
<code>
function checkKey()
{
if (window.event.keyCode == 13) // checks whether the ENTER key
// is pressed
{
window.event.cancelBubble = true;
window.event.returnValue = false;
alert("Canceled");
}
}
</code>
Sen la jag i code behind:
txtName_auth.Attributes.Add("onKeyPress", "javascript:checkKey();")
txtLocation.Attributes.Add("onKeyPress", "javascript:checkKey();")
..osv vidae för alla kontroller, utom textboxar som är multiline.
Problemet med detta är att om man inte står inne i en kontroll, utan klickat någonstans på sidan, och sen trycker enter anropas ju inte min funktion.
Därför tänkte jag man kunder lägga mitt funktionsanrop i "<form>-taggen" istället.
Problemet med det blir att funktion anropas även när jag trycker enter inne i en textbox som är multiline.
Kan man på något sätt, i min Javascriptfunktion, kolla så att man inte står i någon av mina textboxar och i så fall inte "disabla" enter tryckningen?
Hur gör man det i så fall?
/Jocke
Sv:Knapphantering i formulär
i formulärtaggen lad jag anropen till min funktion:
<code>
<form name="Form1" onkeypress="javascript:checkKey();">
</code>
Då valideras enter-tryckningen över hela formuläret. Sen i mitt javascript kollade jag var focus är. Är det i någon av textboxarna med multiline tillåter jag enter-tryckning:
//Prevent posting the form when pressing the enter key, 13 = ENTER key
function checkKey()
{
//Enter key should be allowed in free text boxes
if(!(document.activeElement == document.Form1.txtBioKeywords || document.activeElement == document.Form1.txtChemicalKeywords))
{
if (window.event.keyCode == 13)
{
window.event.cancelBubble = true;
window.event.returnValue = false;
}
}
}
/Jocke
Sv: Knapphantering i formulär
Försök att undvika att skriva följd- eller nya frågor i en tidigare tråd. Det är mycket bättre att du startar en ny tråd som har en korrekt rubrik. Detta gör att folk dels ser att det finns ytterligare en fråga som de kanske kan svara på, samt att andra besökare som kanske har samma problem kan hitta till den tråden. Det är nästan omöjligt att springa på en fråga + svar om de ligger i en tråd som ursprungligen handlade om något annat.
God jul! =)Sv:Knapphantering i formulär
Jag börjar ju med att fråga:
<b>Hur gör man för att förhindra att något postas när användaren trycker på enterknappen på tangentbordet, eller någon knapp)?
Beroende på var man står i formuläret verka olika knappar bli aktiva och det blir det väldigt sum om användaren använder Enter.... </b>
och slutar med att visa hur jag löste just detta....? Söker någon på tex "knapphantering" får han/hon en tråd som löser hela problemet,
God Jul på dig med!
/Jocke
P.S. jag förstår vad du menar, måste bara "försvara" mig lite...:)