All asp-kod körs först, resultatet skickas till webbläsaren.
Om du vill avbryta exekveringen av en ASP-sida:
Response.End
36 svar · 877 visningar · startad av joel_joel88
Hej!
Det är så att jag håller på med en gästbok...
I fall någon inte fyller i sitt namn ex. så ska det komma upp en ruta där det står
"Du måste fylla i det namn!".
Detta gör jag med denna kod!
if trim(request(namn)) = "" then
response.write "<script>alert('Du måste fylla i ditt namn!')</script>"
end if
Fast nu så avbryts i SQL-satsen, utan körs direkt man tryckt på OK.
Går det avbryta den på något sätt innan alerten?
All asp-kod körs först, resultatet skickas till webbläsaren.
Om du vill avbryta exekveringen av en ASP-sida:
Response.End
Så här brukar jag göra:
function Save(){
if (form1.edtRubrik.value==""){
alert("Rubrik måste anges.");
document.form1.edtRubrik.focus();
return false;
}else{
document.form1.action="galleri.aspx?action=save";
document.form1.target="_self";
document.form1.submit();
}
}
HEJ!
Ja, det är klart att den fortsätter, du har ju ingen avbrytning?
1. response.end
2. Javascript-confirm
3. Validera i Javascript istället
Jag hade gjort #3, kombinerat med validering på serversidan av några data.
Men, det är kanske det du håller på med också?
History.back fungerar ju inte, eftersom de som ser den texten isåfall inte har Javascript aktiverat. Jag har inte löst det problemet, utan gör en redirect tillbaka till formuläret, med påpekande att man ska fylla i alla/vissa fält.
De får kanske fylla i något en gång till, men det får de ta! :)
Dubbla svar under tiden jag skrev. Nu har du att jobba med!
Man måste ju kunna lösa det utan att man behöver fylla i dom fält dom redan fyllt i?
Jag kollar på en gästbok nu, den har det så...
Aha, såg javascriptet nu som bwcMikke skicka. Hur ska jag göra för att den ska köras?
Den knapp där du sparar formuläret är förmodligen av typen "submit" idag.
Ändra till
<input type="button" value="spara" onClick="save();"> så körs detta script och submitten av formuläret sker i skriptet.
F-n, det fungerar inte endå...
<script="javascript">
<!--
function Save(){
if (gbook.rubrik.value==""){
alert("Rubrik måste anges.");
document.gbook.rubrik.focus();
return false;
}else{
document.gbook.action="gbook.asp?action=save";
document.gbook.target="_self";
document.gbook.submit();
}
}
-->
</script>
På vilket sätt funkar det inte?
Felmeddelande?
Hur kallar du på funktionen?
Är det verkligen fältet "rubrik" du vill kontrollera?
Och formuläret ser ut i stil med
<form name="gbook" action="" method="post">
Rubrik: <input type="text" name="rubrik" size="40">
<input name="cmdSave" type="button" id="cmdSave" onClick="Save();" value=" Spara ">
</form>
??
1. Får inget felmeddelande.
2. Det är "rubrik" jag vill kontrollera
3. Knappen är av typ button
4. Textfältet heter rubrik
5. Formulärnamnet är "gbook"
Jepp, så ser det ut bwcMikke ;)
Aha...såg ett felmeddelande nu när jag öppnade sidan i IE. Det står ett tecken fattas i javascript koden.
Använd Firefox eller annan vettig webbläsare med en ordentlig javascriptkonsoll.
För webbutvecklare suger IE kraftigt.
Jag använder alltid firefox, var tuvngen att kolla i IE bara. Men annars hatar jag IE!
FIREFOX visar inge fel! :o
1. Save is not defined.
2. gbook is not ot defined.
Löste felet.
if (document.gbook.rubrik.value==""){
document. fanns inte där.
Tackså mycket för hjälpen alla!
Det fungerade när det var ett formulär bara. Men när jag la in flera if-satser så fungerade det ej.