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.
36 svar · 877 visningar · startad av joel_joel88 · sida 2 av 2
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.
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>
Skippa else:n. Eftersom du kör return på alla de andra, så kommer scriptet ändå att hoppa ur om det blir "fel"
ok, men hur ska jag göra så att det ska spara koden ska köras om alla är i fyllda då?
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{
...
...
}
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?
Varför har du flera formulär? Du kan ju ändå bara skicka ett formulär åt gången?
Ja menar flera inputs. Alltså att koden känner av om man har missat namn, rubrik och meddelande.
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.
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{
...
...
}
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.
Ok. Men koden fungerar inte :(
Får felmeddelandet Save is not defined.
Visa hela koden, alt. en url.
<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();">
Läs Peters inlägg:
Peter S skrev:
<script type="javascript">Skall vara
<script type="[b]text/[/b]javascript">