webForumDet fria alternativet

"Alert problem"

36 svar · 877 visningar · startad av joel_joel88 · sida 2 av 2

@ndersMedlem sedan juni 200032 969 inlägg
#21

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

Kod eller url tack.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#22

Fast det är nog jag som är dum, kan väl inte fungera med den koden för det är ju ELSE på sista om ni förstår vad jag menar.
Någon som vet hur man ska göra när man ska ha flera if satser så?

<script type="javascript">
<!--
function Save(){
		if (document.gbook.namn.value==""){
			alert("Du glömde namnet!");
			document.gbook.namn.focus();
			return false;
}
		if (document.gbook.rubrik.value==""){
			alert("Du glömde en rubrik!");
			document.gbook.namn.focus();
			return false;
}
		if (document.gbook.meddelande.value==""){
			alert("Du glömde ett meddelande!");
			document.gbook.namn.focus();
			return false;

		}else {

		  document.gbook.action="gbook.asp?action=save";
		  document.gbook.target="_self";
		  document.gbook.submit();
}
                        
 }

-->
</script>
emissionMedlem sedan dec. 19996 721 inlägg
#23

Skippa else:n. Eftersom du kör return på alla de andra, så kommer scriptet ändå att hoppa ur om det blir "fel"

joel_joel88Medlem sedan nov. 20021 222 inlägg
#24

ok, men hur ska jag göra så att det ska spara koden ska köras om alla är i fyllda då?

bwcMikkeMedlem sedan okt. 2004159 inlägg
#25

Gör så här då:
function Save(){
var msg="";
if (form1.namn.value==""){msg+="- Namnet\n"};
if (form1.rubrik.value==""){msg+="- Rubriken\n"};
if (form1.meddelande.value==""){msg+="- Meddelande\n"};

if (msg!=""){
window.alert("Följande uppgifter saknas:\n" + msg);
return false;
}
else{
...
...
}

joel_joel88Medlem sedan nov. 20021 222 inlägg
#26

ok, så går det ju också göra. Men hur har du gjort på den första grejjen du skicka. Har du bara så att det kommer upp om man inte har fyllt i sitt namn?

Måste kunna utöka den koden, till flera formulär?

@ndersMedlem sedan juni 200032 969 inlägg
#27

Varför har du flera formulär? Du kan ju ändå bara skicka ett formulär åt gången?

joel_joel88Medlem sedan nov. 20021 222 inlägg
#28

Ja menar flera inputs. Alltså att koden känner av om man har missat namn, rubrik och meddelande.

Peter SMedlem sedan dec. 20025 483 inlägg
#29
<script type="javascript">

Skall vara

<script type="[b]text/[/b]javascript">
bwcMikkeMedlem sedan okt. 2004159 inlägg
#30

Du kan väl utöka den till:

function Save(){
		if (form1.edtRubrik.value==""){
			alert("Rubrik måste anges.");
			document.form1.edtRubrik.focus();
			return false;
		}else if (form1.edtNamn.value==""){
			alert("Namn måste anges.");
			document.form1.edtNamn.focus();
			return false;
		}else {
		  document.form1.action="galleri.aspx?action=save";
		  document.form1.target="_self";
		  document.form1.submit();
                         }
	}

Är osäker om det skall vara "else if" eller "elseif" - testa

Jag tycker nog att min andra variant är bättre. Då får man veta alla fel på en gång. Annars får man kanske 3-4 popup-rutor vilket är irriterande.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#31

Men om man kör på din andra variant. Vad ska det stå i msg=""
och vad ska det stå efter else...lite oklart.

Gör så här då:
function Save(){
var msg="";
if (form1.namn.value==""){msg+="- Namnet\n"};
if (form1.rubrik.value==""){msg+="- Rubriken\n"};
if (form1.meddelande.value==""){msg+="- Meddelande\n"};

if (msg!=""){
window.alert("Följande uppgifter saknas:\n" + msg);
return false;
}
else{
...
...
}
bwcMikkeMedlem sedan okt. 2004159 inlägg
#32

Efter "else" där det bara är punkter skall det stå samma sak som tidigare, d.v.s
document.form1.action="galleri.aspx?action=save";
document.form1.target="_self";
document.form1.submit();

Det skall vara msg="" för att tömma/nollställa variabeln.

En kort förklaring på koden:
1. Töm variabeln msg, d.v.s. sätt den till ""
2. Kontrollera fälten. Om ett villkor uppfylls utökas variabeln msg med angiven text.
3. Om msg är annat än "" d.v.s om något glömt att fyllas i, skrivs msg ut och funktionen returnerar false, d.v.s. ingenting händer när man trycker på knappen.
4. Om msg fortfarande är "" så är allting ok ifyllt om man kan bestämma vad som skall hända när formuläret skickas och därefter skicka iväg det.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#33

Ok. Men koden fungerar inte :(
Får felmeddelandet Save is not defined.

@ndersMedlem sedan juni 200032 969 inlägg
#34

Visa hela koden, alt. en url.

joel_joel88Medlem sedan nov. 20021 222 inlägg
#35
<script type="javascript">
<!--
function Save(){
var msg="";
if (document.gbook.namn.value==""){msg+="- Namnet\n"};
if (document.gbook.rubrik.value==""){msg+="- Rubriken\n"};
if (document.gbook.meddelande.value==""){msg+="- Meddelande\n"};

if (msg!=""){
window.alert("Följande uppgifter saknas:\n" + msg);
return false;
}
else{
document.gbook.action="gbook.asp?action=save";
document.gbook.target="_self";
document.gbook.submit();
}
}
-->
</script>
<form name="gbook" action="" method="post"> 
<input type="button" value=" Posta inlägg " onClick="Save();">
@ndersMedlem sedan juni 200032 969 inlägg
#36

Läs Peters inlägg:

Peter S skrev:

<script type="javascript">

Skall vara

<script type="[b]text/[/b]javascript">
joel_joel88Medlem sedan nov. 20021 222 inlägg
#37

Aha.....tackar nu fungerar det :r

Tackså mycket alla nu!

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