webForumDet fria alternativet

skriva in unika siffror i fält!

JavaScript

12 svar · 204 visningar · startad av hakan@4u2.se

Medlem sedan aug. 2000333 inlägg
Frågan#1

Om jag vill att man bara ska kunna skriva in unika siffror, hur löser man det?
Om det är tre rutor som i detta fall så ska man vara tvungen att skriva in 1,2,3 fast ordningen ska inte spela någon roll Kunde lika gärna vara 3,1,2

Tacksam för hjälp

<form action="uppdatera_inaktiv_o_fraga_ordning.asp" method="post" target="_self">
<input type="text" name="fraga_nummer1" size=2 value="1">
<input type="text" name="fraga_nummer2" size=2 value="1">
<input type="text" name="fraga_nummer3" size=2 value="1">
<input type="submit" name="kk" value="Uppdatera">
</form>

------------------
------------------
- Hakan@4u2.se -
------------------

Medlem sedan juli 2000836 inlägg
#2

Om det bara är tre fält som skall jämföras kan man använda en enkel if-sats:

<script type="text/javascript" language="JavaScript">
function kolla_lika(){
var varde1= document.forms[0].fraga_nummer1.value
var varde2= document.forms[0].fraga_nummer2.value
var varde3= document.forms[0].fraga_nummer3.value

if(varde1==varde2 &#0124;&#0124; varde1==varde3 &#0124;&#0124; varde2==varde3){
alert("Du har satt samma siffra i två eller flera fält!");
return false;
}
}
</script>

och i form-taggen:

onsubmit="return kolla_lika();"

------------------
- J-O-H-N-S-E-N -
------------------

Medlem sedan aug. 2000333 inlägg
#3

Det ska kunna vara "oändligt" med frågor! Går det att lösa?

------------------
------------------
- Hakan@4u2.se -
------------------

Medlem sedan juli 2000836 inlägg
#4

Ja, det går väl...
Byt ut funktionen:

function kolla_lika(){
var antal= 4  // hur många frågor?

for(var i=0; i<antal; i++){
for(var j=0; j<antal; j++){
if(i!=j && document.forms[0].elements[i].value==document.forms[0].elements[j].value){
alert("Du har satt samma siffra i två eller flera fält!");
return false;
}
}
}

}

------------------
- J-O-H-N-S-E-N -
------------------

Medlem sedan aug. 2000333 inlägg
#5

Tack Johnsen det fungerar perfekt du är en klippa!
men.. 2st detaljer till,

1. Jag behöver 2st input typer till: "sida", "inaktiv" de ska inte kontrollers om de är unika, utan det är bara "fraga_nummer" som skall kollas om de är unika!
2. input type "sida" ska kollas så det bara matas in siffror

Tack på förhand

[Kod:]
<form action="uppdatera_inaktiv_o_fraga_ordning.asp" method="post" target="_self" onsubmit="return kolla_lika();">>
<input type="text" name="fraga_nummer1" value="1">
<input type="text" name="fraga_nummer2" value="1">
<input type="text" name="fraga_nummer3" value="1">

<input type="checkbox" name="inaktiv1" value="true">
<input type="checkbox" name="inaktiv2" value="true">
<input type="checkbox" name="inaktiv3" value="true">

<input type="text" name="sida1" value="1">
<input type="text" name="sida2" value="1">
<input type="text" name="sida3" value="1">

<input type="submit" name="kk" value="Uppdatera">
</form>

------------------

------------------
- Hakan@4u2.se -
------------------

Medlem sedan juli 2000836 inlägg
#6
function kolla_lika(){
var antal= 3  // hur många frågor? (räknar de första elementen i formuläret)

for(var i=0; i<antal; i++){
for(var j=0; j<antal; j++){
if(i!=j && document.forms[0].elements[i].value==document.forms[0].elements[j].value){
alert("Du har satt samma siffra i två eller flera fält!");
return false;
}
}
}

if(isNaN(document.forms[0].sida1.value)&#0124;&#0124;isNaN(document.forms[0].sida2.value)&#0124;&#0124;isNaN(document.forms[0].sida3.value)){
alert("Blabla får bara innehålla siffror!");
return false;
}

}

------------------
- J-O-H-N-S-E-N -
------------------

Medlem sedan aug. 2000333 inlägg
#7

Fungerar bra förutom när man har "inaktiv" checkbox, hur löser jag det?

------------------

------------------
- Hakan@4u2.se -
------------------

Medlem sedan juli 2000836 inlägg
#8

Visa hela din kod såsom du vill ha den.

------------------
- J-O-H-N-S-E-N -
------------------

Medlem sedan aug. 2000333 inlägg
#9

Jag som krånglar till det;))
Så här ser koden ut, och det ska vara oändligt med "frågor", i det här exemplet 3st men det kunde lika gärna varit 7st!
-"fraga_nummer" ska kollas så det är ett unik tal
-"sida" ska kolla så det är ett tal
-"inaktiv" ingen koll på alls

<form action="uppdatera_inaktiv_o_fraga_ordning.asp" method="post" target="_self" onsubmit="return kolla_lika();">
<input type="text" name="fraga_nummer1" value="1">
<input type="text" name="fraga_nummer2" value="1">
<input type="text" name="fraga_nummer3" value="1">

<input type="text" name="sida1" value="1">
<input type="text" name="sida2" value="1">
<input type="text" name="sida3" value="1">

<input type="checkbox" name="inaktiv1" value="true"> 
<input type="checkbox" name="inaktiv2" value="true"> 
<input type="checkbox" name="inaktiv3" value="true"> 

<input type="submit" name="kk" value="Uppdatera">
</form>

------------------

------------------
- Hakan@4u2.se -
------------------

Medlem sedan juli 2000836 inlägg
#10

Skall det vara lika många "sida" som "fraga_nummer"?
Kommer dom alltid i ordningen: "fraga_nummer", "sida" och "inaktiv"?
Kan det finnas ytterligare element i formuläret förutom submitten?

------------------
- J-O-H-N-S-E-N -
------------------

Medlem sedan aug. 2000333 inlägg
#11

Ska vara lika många "fraga_nummer" som "sida" även lika många "inaktiv".

Ordningen är alltid (Bestämde jag nu ;) ): "fraga_nummer", "sida", "inaktiv"

Ska inte vara några mera element!

------------------
- Hakan@4u2.se -
------------------

Medlem sedan juli 2000836 inlägg
#12

Nu då! ;)

<html>
<head>
<script type="text/javascript" language="JavaScript">

function kolla_lika(){
var antal= 4  // hur många frågor?

for(var i=0; i<antal; i++){
for(var j=0; j<antal; j++){
if(i!=j && document.forms[0].elements[i].value==document.forms[0].elements[j].value){
alert("Du har satt samma siffra i två eller flera fält!");
return false;
}
}
}

for(var i=antal; i<antal*2; i++){
if(isNaN(document.forms[0].elements[i].value)){
alert("Blabla får bara innehålla siffror!");
return false;
}
}

}
</script>

<head>
<body>

<form action="uppdatera_inaktiv_o_fraga_ordning.asp" method="post" target="_self" onsubmit="return kolla_lika();">
<input type="text" name="fraga_nummer1" value="1">
<input type="text" name="fraga_nummer2" value="1">
<input type="text" name="fraga_nummer3" value="1">
<input type="text" name="fraga_nummer4" value="1">

<input type="text" name="sida1" value="1">
<input type="text" name="sida2" value="1">
<input type="text" name="sida3" value="1">
<input type="text" name="sida4" value="1">

<input type="checkbox" name="inaktiv1" value="true"> 
<input type="checkbox" name="inaktiv2" value="true"> 
<input type="checkbox" name="inaktiv3" value="true"> 
<input type="checkbox" name="inaktiv4" value="true"> 

<input type="submit" name="kk" value="Uppdatera">
</form>

</body>
</html>

------------------
- J-O-H-N-S-E-N -
------------------

Medlem sedan aug. 2000333 inlägg
#13

Jag buggar o tackar! Du är en klippa!

Lyckades lägga dit en koll på om "fråga _nummer" bara innehåller siffror oxå! ;)

for(var i=0; i<antal*2; i++){
if(isNaN(document.forms[0].elements[i].value)){
alert("Fråge ordning får bara innehålla siffror!");
return false;
}
}

------------------
- Hakan@4u2.se -
------------------

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)