Hej! Vet inte hur det görs i javascript, men det är modulus du ska använda. Gissar att det kan vara såhär det skrivs: Vet inte på rak arm om detta funkar, men du kan ju prova... Kan man inte använda Mod i asp med, t ex Jopp, mod är det rätta... Mod gör ju en heltalsdivision och retunerar resten utav den... Om resten är 0 så betyder det ju att det inte blev någon rest... :) Nu har jag gjort en test och det verkar funka, men vad som inte fungerar är response.redirect Det funkar med MODULUS funktionen. Nu är jag och jscript inte bästa kompisar, jag använder mig gärna av vbscript och asp, så om någon kunde hjälpa mig där.Multiplar av ett tal
Jag har i en beställningsrutin ett fält där jag skriver in hur många jag vill beställa.
Man ska bara kunna beställa hela förpackningar, därför har jag en kolumn i databasen som heter forpackningsstorlek.
Om nu förpackningsstorleken är 15 så ska det alltså bara gå att skriva in och beställa, 15,30,45,60,75,90 st osv.
Kan man lösa detta med någon if-sats och någon typ av formel?
Kontrollen ska göras när man klickar på submitknappen.
Tack på förhand
/JimmySv: Multiplar av ett tal
if((antal % fröpackningsstorlek) == 0)
/JohanSv: Multiplar av ett tal
<code>
<script language="javascript">
function siffer_check(ruta) {
var ok = "0123456789";
var go = true;
var str = ruta.value;
for (i = 0; i < str.length; i++)
{
ch = str.charAt(i);
for (j = 0; j < ok.length; j++)
if (ch == ok.charAt(j))
break;
if (j == ok.length)
{
go = false;
break;
}
}
if (!go) {
alert("Du får bara använda siffror i detta fält");
ruta.focus();
return false;
} else {
return true;
}
}
function check_antal(form) {
fp = parseFloat(form.antal.value) / 15;
fp_check = fp.toFixed(0);
diff = fp - fp_check;
if (diff == 0) {
return true;
} else {
alert("blabla");
form.antal.focus();
return false;
}
}
</script>
<form method="get" action="" enctype="text/plain" name="add" onSubmit="return check_antal(this);">
<input type="text" name="antal" onblur="return siffer_check(this);"><br>
<input type="submit" value="Go">
</form>
</code>Sv: Multiplar av ett tal
multipel = antal Mod förpackningsstorlek
If multipel <> 0
Then
Fel
Else
Rätt
End If
Skulle man inte kunna göra nåt sånt?
Mvh
JimmySv: Multiplar av ett tal
Sv: Multiplar av ett tal
Det ser ut så här
<code>
If multipel = 0 Then
Else
%>
<script language ="vbscript">
msgbox" Antal måste vara hela förpackningar"
</script>
<%
End If
Response.Redirect "kundvagn.asp"
</code>
Det skumma är att jag inte kommer msgboxen inte fungerar
men sätter jag
det så här
<code>
<%
If multipel = 0 Then
Else
Response.Redirect "kundvagn.asp"
%>
<script language ="vbscript">
msgbox" Antal måste vara hela förpackningar"
</script>
<%
End If
%>
</code>
så funkar msgboxen men inte repsonse.redirect
Några förslag på hur jag kan göra?
Tack på förhand!
/JimmySv: Multiplar av ett tal
Här är ett litet skript som kollar antal och anger närmaste förpackningsstorlekar om det inte gårr jämt upp. Jag har här inge koll på att det bara är siffror som skrivits in.
Jag skulle hellre föredra att beställaren fick ange antal förpackningar istället det totala antalet detaljer, men smaken....
<SCRIPT LANGUAGE="JScript">
function check_antal(form) {
best = parseFloat(form.antal.value);
diff = best % 15;
if (diff == 0) {
return true;
}
else {
prevSize = best - diff;
nextSize = prevSize + 15;
window.alert("Föregående förp = " + prevSize + ", Nästa förp = " + nextSize);
form.antal.focus();
return false;
}
}
</script>
<form method="get" action="" enctype="text/plain" name="add" onSubmit="return check_antal(this);">
<input type="text" name="antal"><br>
<input type="submit" value="Go">
</form>
//
JanneSv: Multiplar av ett tal
Mvh
Jimmy