webForumDet fria alternativet

"Alert problem"

36 svar · 877 visningar · startad av joel_joel88

joel_joel88Medlem sedan nov. 20021 222 inlägg
#1

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?

@ndersMedlem sedan juni 200032 969 inlägg
#2

All asp-kod körs först, resultatet skickas till webbläsaren.
Om du vill avbryta exekveringen av en ASP-sida:

Response.End
bwcMikkeMedlem sedan okt. 2004159 inlägg
#3

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();
                         }
	}
J.N.Medlem sedan apr. 20031 660 inlägg
#4

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!

joel_joel88Medlem sedan nov. 20021 222 inlägg
#5

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å...

joel_joel88Medlem sedan nov. 20021 222 inlägg
#6

Aha, såg javascriptet nu som bwcMikke skicka. Hur ska jag göra för att den ska köras?

bwcMikkeMedlem sedan okt. 2004159 inlägg
#7

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.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#8

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>
@ndersMedlem sedan juni 200032 969 inlägg
#9

På vilket sätt funkar det inte?
Felmeddelande?
Hur kallar du på funktionen?
Är det verkligen fältet "rubrik" du vill kontrollera?

bwcMikkeMedlem sedan okt. 2004159 inlägg
#10

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>

??

joel_joel88Medlem sedan nov. 20021 222 inlägg
#11

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"

joel_joel88Medlem sedan nov. 20021 222 inlägg
#12

Jepp, så ser det ut bwcMikke ;)

joel_joel88Medlem sedan nov. 20021 222 inlägg
#13

Aha...såg ett felmeddelande nu när jag öppnade sidan i IE. Det står ett tecken fattas i javascript koden.

@ndersMedlem sedan juni 200032 969 inlägg
#14

Använd Firefox eller annan vettig webbläsare med en ordentlig javascriptkonsoll.
För webbutvecklare suger IE kraftigt.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#15

Jag använder alltid firefox, var tuvngen att kolla i IE bara. Men annars hatar jag IE!

FIREFOX visar inge fel! :o

@ndersMedlem sedan juni 200032 969 inlägg
#16

Firefox visar felen i javascriptkonsollen.

Öppna den genom att skriva javascript: i adressraden.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#17

1. Save is not defined.
2. gbook is not ot defined.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#18

Löste felet.

if (document.gbook.rubrik.value==""){

document. fanns inte där.

Tackså mycket för hjälpen alla!

joel_joel88Medlem sedan nov. 20021 222 inlägg
#19

Det fungerade när det var ett formulär bara. Men när jag la in flera if-satser så fungerade det ej.

@ndersMedlem sedan juni 200032 969 inlägg
#20
<script="javascript">

Jag tycker det saknas något här...

243 ms totalt · 3 externa anrop · v20260731065814-full.30151723
126 ms — hämta forumlista (db)
114 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)