kodestump virker ikke
Hej EksperterJeg har fået noget kode af roenving
Men jeg kan ikke få den til at virke i delen hvor den tjekker for radio og checkbox er der nogle der kan overskue hvad der er galt
<script type="text/javascript">
function valider(f){
var e = f.elements,val,min,max,fname,tval,chks = [], rads = [];
for(i=0;e.length>i;i++){
if( (e[i].type=='text' || e[i].type=='textarea') && e[i].name.indexOf('val')!=0){
fname = max = min = 0;
val = e['val'+e[i].name].value;
tval = val.split("(")[1].split(")");
fname = tval[1];
min = tval[0];
if(min.indexOf(",")>0){
max = +min.split(",")[1];
min = +min.split(",")[0];
}
val = val.split("(")[0];
if(min&&min>e[i].value.length||max&&e[i].value.length>max){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravene til længde')
e[i].focus();
return false;
}
var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
var regexpmail = new RegExp("^["+t+"]["+t+"\\.\\-\\+]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"\\.\\-\\/]*$","i");
switch(val){
case('char'):
if(!/^\w+$/i.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om kun at bruge tegn')
e[i].focus();
return false;
}
break;
case('caps'):
if(!/^[A-Z]+$/.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om kun at bruge store bogstaver')
e[i].focus();
return false;
}
break;
case('number'):
if(!/^\d+$/.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om kun at bruge tal')
e[i].focus();
return false;
}
break;
case('curr'):
if(!/^\d+([,\.]\d{3})*([,\.]\d\d)?$/.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om at bruge valuta-notation')
e[i].focus();
return false;
}
break;
case('mail'):
if(!regexp.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om en mail-adresse')
e[i].focus();
return false;
}
break;
default:
}
}else if(e[i].type == "checkbox" && f.elements["val" + e[i].name]){
if(!chks[e[i].name])
chks[e[i].name] = "checkbox";
}else if(e[i].type == "radio" && f.elements["val" + e[i].name]){
if(!rads[e[i].name])
rads[e[i].name] = "radio";
}
for(n in chks){
var chs = f.elements[n],chkd = false;
if(chs.length){
for(i=0,im=chs.length;im>i;i++)
chkd = chkd || chs[i].checked;
if(!chkd){
alert("I " + n + " er der ikke foretaget et valg");
chs[0].focus();
return false;
}
}
}
for(n in rads){
var rds = f.elements[n],chkd = false;
if(rds.length){
for(i=0,im=rds.length;im>i;i++)
chkd = chkd || rds[i].checked;
if(!chkd){
alert("I " + n + " er der ikke foretaget et valg");
rds[0].focus();
return false;
}
}
}
return true;
}
</script>
<form id="minForm" name="minForm" onsubmit="return valider(this);">
Store bogstaver: <input id="minInput" name="minInput" type="text" value="KUN CAPS" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<input type="hidden" name="valminInput" value="caps(1,1)Store bogstaver">
<br>
Pris: <input id="minInput2" name="minInput2" autocomplete='off' type="text" value="Pris" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<input type="hidden" name="valminInput2" value="curr(1,1)TEST"><br>
<input type="radio" value="test123" name="radio"><br>
<input type="hidden" name="valradio"><br>
<input type="submit" value="Test">
</p>
</form>