Avatar billede wolstrup Nybegynder
09. maj 2008 - 11:11 Der er 10 kommentarer og
1 løsning

udfyld tomme felter

Jeg skal bruge en funktion, som når man trykker på en knap udfylder tomme felter i en form. felterne skal udfyldes tilfældigt, men det tilladte indhold skal defineres ved at afhakke nogle checkboxe.

F.eks.

Tal <input type="checkbox" name="tal" value="on">
Bogstaver <input type="checkbox" name="bogstaver" value="on">

Håber nogen kan hjælpe :-)
Avatar billede w13 Novice
09. maj 2008 - 11:29 #1
Jeg forstår ikke helt. Kan vi se hele din form, så vi ved, hvad vi har med at gøre?

Skal _alle_ tomme felter udfyldes? Og hvad siger du, de skal udfyldes med? Hvad mener du med tilfældigt?
Avatar billede wolstrup Nybegynder
09. maj 2008 - 11:50 #2
Hej

Det er sådanset de felter du hjalp mig med at tømme før :-) Disse felter skal nu udfyldes med et tilfældigt tal eller bogstav. Kun et tal eller bogstav i hvert felt.

De skal udfyldes tilfældigt, altså med et random bogstav eller tal. Det med ckeckboxene er så jeg kan styre om funktionen skal udfylde med udelukkende tal, bogstaver eller blande dem.
Avatar billede w13 Novice
09. maj 2008 - 12:13 #3
Må et tal/bogstav gå igen i flere bokse?
Avatar billede wolstrup Nybegynder
09. maj 2008 - 12:34 #4
Ja, det skal bare være helt random.
Avatar billede w13 Novice
09. maj 2008 - 12:37 #5
Du kan jo prøve med det her:
****************************
<html>
<head></head>
<body>

<script type="text/javascript">
var aFields=["felt1","felt4"];
function ResetFields(o){
    for(var i=0;i<aFields.length;i++)o[aFields[i]].value=""
}
function InsertFieldValues(o){
    var aRnd="abcdefghijklmnopqrstuvwxyz0123456789".split("");
    for(var i=0;i<aFields.length;i++){
        if(o[aFields[i]].value=="")o[aFields[i]].value=aFields[Math.floor(Math.random()*aFields.length)]
    }
}
</script>

<form id="form1">

  <input type="text" name="felt1"><br>
  <input type="text" name="felt2"><br>
  <input type="text" name="felt3"><br>
  <input type="text" name="felt4"><br>

  <img src="reset.bmp" onclick="ResetFields(document.getElementById('form1'))">

  <img src="insert.bmp" onclick="InsertFieldValues(document.getElementById('form1'))">

</form>

</body>
</html>
Avatar billede w13 Novice
09. maj 2008 - 12:40 #6
Hov,

        if(o[aFields[i]].value=="")o[aFields[i]].value=aFields[Math.floor(Math.random()*aFields.length)]


skal være:

        if(o[aFields[i]].value=="")o[aFields[i]].value=aRnd[Math.floor(Math.random()*aRnd.length)]

Og dét er testet. :)
Avatar billede wolstrup Nybegynder
13. maj 2008 - 13:44 #7
Perfekt det virker..

Men hvad så hvis jeg skal kunne vælge hvad der må udfyldes med via checkboxe?

Altså f.eks.

Store bogstaver: <input type="checkboxe" value="ABCDE">
Små bogstaver: <input type="checkboxe" value="abcde">
Tal: <input type="checkboxe" value="12345">
Avatar billede w13 Novice
13. maj 2008 - 14:27 #8
Så skal vi lige give boksene nogle id's:

Store bogstaver: <input id="largeletters" type="checkboxe" value="ABCDE">
Små bogstaver: <input id="smallletters" type="checkboxe" value="abcde">
Tal: <input id="numbers" type="checkboxe" value="12345">

Og så ret:

var aRnd="abcdefghijklmnopqrstuvwxyz0123456789".split("");
til:
var aRnd="";
if(document.getElementById("largeletters").checked)aRnd+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if(document.getElementById("smallletters").checked)aRnd+="abcdefghijklmnopqrstuvwxyz0123456789";
if(document.getElementById("numbers").checked)aRnd+="0123456789";
aRnd=aRnd.split("");
Avatar billede wolstrup Nybegynder
13. maj 2008 - 14:40 #9
Genialt, kan man lave en default hvis ingen er valgt?
Avatar billede w13 Novice
13. maj 2008 - 14:42 #10
Jep, så bruger du bare.

var aRnd="";
if(document.getElementById("largeletters").checked)aRnd+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if(document.getElementById("smallletters").checked)aRnd+="abcdefghijklmnopqrstuvwxyz0123456789";
if(document.getElementById("numbers").checked)aRnd+="0123456789";
if(aRnd=="")aRnd="abc";
aRnd=aRnd.split("");

I ovenstående er default-linjen:
if(aRnd=="")aRnd="abc";
Avatar billede wolstrup Nybegynder
13. maj 2008 - 14:45 #11
Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester