01. marts 2007 - 10:16Der er
10 kommentarer og 1 løsning
Rettelse til script
Jeg vil gerne have lavet en mindre ændring af mit script: I bunden af scriptet ses denne linie: if (postnr==true&&navntjek==true&&addresetjek==true&&bytjek==true&&tlftjek==true)
Her checkes for om variablerne er sande, men det virker ikke som det skal. Hvis sand skal order2.html afvikles, hvis falsk skal scriptet gentages fra starten, det kan jeg ikke lige greje.
Er der en der har en ide?
<script>
function starttjek() { var inputs =" "; var inputs = document.getElementsByTagName("option");
for(var u=0; u<inputs.length; u++) { if(inputs[u].getAttribute('value')=='2625') { var postnr = false; if(inputs[u].selected==true) { var post = document.getElementsByTagName("input"); for(var p=0; p<post.length; p++) { if(post[p].getAttribute('name')=='zipcode') { if (post[p].value.length ==4) { var reg = new RegExp("([0-9]{4})"); if (reg.test(post[p].value)) {
postnr=true; } var reg = new RegExp("([0-9]{4})"); if (!reg.test(post[p].value)) { alert("Du skal indtaste et gyldig postnummer for Danmark bestående af 4 tal"); postnr=false; post[p].value =""; } } if (post[p].value.length !=4) { alert("Du skal indtaste et gyldig postnummer for Danmark bestående af 4 tal"); postnr=false; post[p].value =""; } } }
var cvr = document.getElementsByTagName("input"); for(var c=0; c<cvr.length; c++) { if(cvr[c].getAttribute('name')=='cvrnr') { if (cvr[c].value.length >0) { if (cvr[c].value.length ==8) {
postnr=true; } if (cvr[c].value.length !=8) { alert("Du skal indtaste et gyldig CVR nummer for Danmark bestående af 8 tal"); postnr=false; cvr[c].value =""; } } } }
} if(inputs[u].selected==false) { var postnr = true; } } } var navntjek=true; var navn = document.getElementsByTagName("input"); for(var n=0; n<navn.length; n++) { if(navn[n].getAttribute('name')=='name') { if (navn[n].value.length <1) { alert("Du skal indtaste dit navn, både for og efternavn"); navntjek=false; } } } var addresetjek=true; var addrese = document.getElementsByTagName("input"); for(var a=0; a<addrese.length; a++) { if(addrese[a].getAttribute('name')=='address') { /*var reg = new RegExp("([a-zA-Z]{4}[0-9]{1})"); if (!reg.test(post[a].value)) { alert("Du skal indtaste din adresse, husk nummeret"); addresetjek=false; } */ } }
var bytjek=true; var by = document.getElementsByTagName("input"); for(var b=0; b<by.length; b++) { if(by[b].getAttribute('name')=='city') { if (by[b].value.length <1) { alert("Du skal indtaste din by"); bytjek=false; } } } var tlftjek=true; var tlf = document.getElementsByTagName("input"); for(var t=0; t<tlf.length; t++) { if(tlf[t].getAttribute('name')=='phone') { if (tlf[t].value.length <1) { alert("Du skal indtaste dit telefonnummer"); tlftjek=false; } } }
if (postnr==true&&navntjek==true&&addresetjek==true&&bytjek==true&&tlftjek==true)
{ var inputs =""; var inputs = document.getElementsByName("myform");
Jeg skulle mene at det var noget i stil med dette:
<script type="text/javascript">
function starttjek() { var inputs =" "; var inputs = document.getElementsByTagName("option");
for(var u=0; u<inputs.length; u++) { if(inputs[u].getAttribute('value')=='2625') { var postnr = false; if(inputs[u].selected==true) { var post = document.getElementsByTagName("input"); for(var p=0; p<post.length; p++) { if(post[p].getAttribute('name')=='zipcode') { if (post[p].value.length ==4) { var reg = new RegExp("([0-9]{4})"); if (reg.test(post[p].value)) { postnr=true; } var reg = new RegExp("([0-9]{4})"); if (!reg.test(post[p].value)) { alert("Du skal indtaste et gyldig postnummer for Danmark bestående af 4 tal"); postnr=false; post[p].value =""; } } if (post[p].value.length !=4) { alert("Du skal indtaste et gyldig postnummer for Danmark bestående af 4 tal"); postnr=false; post[p].value =""; } } }
var cvr = document.getElementsByTagName("input"); for(var c=0; c<cvr.length; c++) { if(cvr[c].getAttribute('name')=='cvrnr') { if (cvr[c].value.length >0) { if (cvr[c].value.length ==8) { postnr=true; } if (cvr[c].value.length !=8) { alert("Du skal indtaste et gyldig CVR nummer for Danmark bestående af 8 tal"); postnr=false; cvr[c].value =""; } } } } } if(inputs[u].selected==false) { var postnr = true; } } } var navntjek=true; var navn = document.getElementsByTagName("input"); for(var n=0; n<navn.length; n++) { if(navn[n].getAttribute('name')=='name') { if (navn[n].value.length <1) { alert("Du skal indtaste dit navn, både for og efternavn"); navntjek=false; } } } var addresetjek=true; var addrese = document.getElementsByTagName("input"); for(var a=0; a<addrese.length; a++) { if(addrese[a].getAttribute('name')=='address') { /*var reg = new RegExp("([a-zA-Z]{4}[0-9]{1})"); if (!reg.test(post[a].value)) { alert("Du skal indtaste din adresse, husk nummeret"); addresetjek=false; } */ } }
var bytjek=true; var by = document.getElementsByTagName("input"); for(var b=0; b<by.length; b++) { if(by[b].getAttribute('name')=='city') { if (by[b].value.length <1) { alert("Du skal indtaste din by"); bytjek=false; } } } var tlftjek=true; var tlf = document.getElementsByTagName("input"); for(var t=0; t<tlf.length; t++) { if(tlf[t].getAttribute('name')=='phone') { if (tlf[t].value.length <1) { alert("Du skal indtaste dit telefonnummer"); tlftjek=false; } } }
if (postnr==true&&navntjek==true&&addresetjek==true&&bytjek==true&&tlftjek==true) { return true; }
return false; }
var inputs = document.getElementsByName("myform");
Du kan, såvidt jeg ved, kun submitte en formular ad gangen, så derfor kunne du måske endda med fordel udskifte flg. stump kode
<script type="text/javascript"> // // selve starttjek-funktionen er som vist før - så den er udeladt her... // var inputs = document.getElementsByName("myform");
BEMÆRK: der er byttet rundt på return-værdierne i funktionen starttjek OG der er kommet en return på kaldet til starttjek i den anonyme funktion til sidst.
Hmm... jeg har svært ved at gennemskue hvordan den forumlar skal fungere, men den skal altså submitte i begge tilfælde, bare til forskellige adresser...? Så skal din oprindelige kode i den sidste if-sætning jo aligevel være der :)
if (postnr==true&&navntjek==true&&addresetjek==true&&bytjek==true&&tlftjek==true) { var inputs = document.getElementsByName("myform");
Jo, jeg skulle mene det bare er at følge samme opskrift som i de sidste 7 liniers kode, nemlig at indsætte adressen i action (her har jeg indsat en reference til side1.html på det lokale domæne):
if (postnr==true&&navntjek==true&&addresetjek==true&&bytjek==true&&tlftjek==true) { var inputs = document.getElementsByName("myform");
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.