Kan man få bort funktionen att man kan skicka ett formulär med hjälp av att bara trycka ENTER ... jag vill att man måste göra det via "en skicka knapp"??
Mvh Micke
12 svar · 732 visningar · startad av harry_boy
Kan man få bort funktionen att man kan skicka ett formulär med hjälp av att bara trycka ENTER ... jag vill att man måste göra det via "en skicka knapp"??
Mvh Micke
Du kan byta din submit-knapp mot en vanlig knapp som utför skickandet.
<input type="button" value="skicka" onclick="this.form.submit();">
Går det inte då att skicka formuläret med hjälp av att enbart trycka enter eller?
Nej. Finns ingen submit-knapp kan inte formuläret postas med enter-tryckning.
Det gick ju kanon men nu så blir jag av med min validering av fält som är gjord efter http://www.webforum.nu/showthread.php?s=&threadid=115976&forumid=24
Är det något enkelt som jag kan ändra för att även detta skall funka?
Du får visa mer kod. Men det ska inte vara några problem att köra valideringsfunktionen först.
Lite utdrag ur koden, hoppas du förstår!
<form action="sendorder.asp" method="post" name="form1" onsubmit="return validate(this)";>
<script language="javascript" type="text/javascript">
function validate(obj){
return (
Boolean(obj.elements["fornamn"].value != "" || alert("Inget förnamn ifyllt!")) &&
Boolean(obj.elements["efternamn"].value != "" || alert("Inget efternamn ifyllt!")) &&
Boolean(obj.elements["adress"].value != "" || alert("Ingen andress ifyllt!")) &&
Boolean(obj.elements["postnr"].value != "" || alert("Ingen postnr ifyllt!")) &&
Boolean(obj.elements["postort"].value != "" || alert("Ingen postort ifyllt!")) &&
Boolean(obj.elements["telefon"].value != "" || alert("Inget telefonnummer ifyllt!")) &&
Boolean(obj.elements["mailadress"].value.indexOf('@') != -1 || alert("E-postadress är ej giltigt ifylld")) &&
Boolean(obj.elements["artnr1"].value != "" || alert("Fyll i artikelnr!")) &&
Boolean(obj.elements["ben1"].value != "" || alert("Fyll i benämning!!")) &&
Boolean(obj.elements["antal1"].value != "0" || alert("Fyll i antal!")) &&
Boolean(obj.elements["pris1"].value != "0" || alert("Fyll i rätt a-pris!"))
);
}
</script>
<input type="text" name="fornamn" size="24" tabindex="1">
Fungerar detta, kanske?
<input type="button" value="skicka" onclick="if(validate(this.form)) this.form.submit();">
Funkade perfekt
Jag har en invändning här:
Om man inte har JavaScript aktiverat kommer knappen inte att fungera, och man kommer inte att kunna skicka iväg formuläret oavsett vilka knappar man trycker på.
Då skulle jag hellre se till att man stänger av "skicka formuläret med Enter" för de som har JavaScript aktiverat, och de andra gör vi ingenting åt.
<form onkeypress="return (event.keyCode!=13)" onsubmit="return validera(this)">
Jag bugar mig för överheten och inser att dectgap tänkt ett snäpp längre. :)
Men vad händer om man står i en textarea och trycker på enter-tangenten?
@nders skrev:
Men vad händer om man står i en textarea och trycker på enter-tangenten?
Ja, då får man minst sagt problem :r
Men det går att ställa det till rätta:
<textarea onkeypress="event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation()"></textarea>
Ni är ju kungar!!!