Smårettelser til javascripts
Hello.Jeg har brug for et par ændringer til nogle javascripts, lavet af roenving og w13.
Det første javascript, har en live count af rigtige og forkerte besvarelser ved radio button. Se den oprindelige tråd her: http://www.eksperten.dk/spm/852727.
Når de afkrydser en radio button låses hele gruppen og svaret kan ikke ændres (med mindre browseren refreshes, naturligvis). Når svaret er afkrydset skal brugeren alertes om svaret er korrekt eller forkert i henhold til de foruddefineret svar i toppen af javascriptet.
Javascriptet kan ses her:
<script type="text/javascript">
var rightAnswers = {"first":0, "second":2, "third":1};
var numClicks = 0;
function checkAndShow(lnk){
if(lnk)
lnk.style.visibiliy="hidden";
var group, inps = document.getElementsByTagName("input"), rigtige = numClicks;
for(nm in rightAnswers){
group = [], actSeld = false;
for(var i=0, im=inps.length; im>i; i++){//vi opretter en gruppe med det aktuelle navn
if(inps[i].type=="radio" && inps[i].name == nm){
group.push(inps[i]);
actSeld = actSeld || inps[i].checked;
}
}
rigtige += group[rightAnswers[nm]].checked ? 3 : 0;
if(actSeld){
for(var i=0, im=group.length; im>i; i++)
group[i].disabled = "disabled";
}
}
document.getElementById("totalcounter").firstChild.nodeValue = rigtige;
}
</script>
------------
Ændring 2:
Næste javascript er en simpel validering af tomme inputs. 'Problemet' er bare at javascriptet ikke tager hensyn til om feltet har en foruddefineret value. Skriver jeg ex. "Navn" i et input, "tror" javascriptet at inputtet er tomt, da der ikke er redigeret i det.
Javascriptet kan ses her:
<script type="text/javascript">
function validateForm(oForm,aFields,aErrors){
for (var i=0; i<aFields.length; i++) {
if (oForm[aFields[i]].value == oForm[aFields[i]].defaultValue || oForm[aFields[i]].value == "") {
alert(aErrors[i]);
oForm[aFields[i]].focus();
return false;
}
}
return true;
}
</script>
Håber I har tid til at hjælpe mig :-)
