19. oktober 2004 - 17:06Der er
19 kommentarer og 1 løsning
Diverse beregninger ?
Hejsa,
Jeg sidder og skal have lavet et stykke javascript der kan håndtere følgende :
1. Jeg har et felt hvor det f.eks kun må være tilladt at kunne taste en længde mellem 500 og 2000 mm.
2. Et andet felt hvor der skal indtastes en radius, hvor denne skal have et min/max indtastning afhænnigt af hvad der er skrevet i feltet ovenfor.
F.eks indtastes der 500 mm i det første felt må der min/max kunne indtastes 15 til 25 i andet felt, eller 1000 mm giver det muliged for at kunne taste 15 til 40, bare for at prøve at give et eksempel.
Er dette forståeligt, muligt og er der en der kan hjælpe med dette ?
Hvad er den reelle afhængighed mellem de to felter? 15-40 kan vi jo godt lege med - men for at undgå at lave det mange gange, kunne det være fedt at vide, hvordan det præcist skal bruges :)
Det skal præcist bruges på den måde at udgangs punktet er en træplade på 1000 x 2000 mm hvor der så skal laves en runding på for og/eller bagkant og det samme i enderne hvis der så tastes f.eks 800 mm for bredde og 1800 for længde kan der max laves en buehøjde på 1 x 200 mm eller 2 x 100 mm og en buebredde på 1 x 200 mm eller 2 x 100 mm.
Tjoohh ... det ville nu have været rart at kende lidt mere til validerings-algoritmen. Så er det lettere at skrive noget begavet :) Anyway, så kan du forhåbentligt se, hvordan du kan ændre valideringen i dette script, der viser fremgangsmåden:
<script type="text/JavaScript"> function checkAllowed(elm, f) { if (f.myWidth.value=="" || isNaN(f.myWidth.value)) { elm.value = ""; f.myWidth.select(); } if (f.myHeight.value=="" || isNaN(f.myHeight.value)) { elm.value = ""; f.myHeight.select(); } } function validateForm(f) { if ( f.myRad.value>100 && f.myWidth.value<1000 && f.myHeight.value<500 ) { alert("En besked"); f.myRad.select(); return false; } else if ( f.myRad.value>200 && f.myWidth.value<2000 && f.myHeight.value<1000 ) { alert("En anden besked"); f.myRad.select(); return false; } return true; } </script>
Hmmmm.... Det er nok mig der ikke forstår at forklare det for det er ikke helt korrekt endnu :o)
Hvis jeg f.eks prøver at taste 1850 i bredden og 850 i højden så skulle det jo automatisk være sådan sådan at man ikke kunne taste mere i radius end det resterende op til den fulde plade bredde og højde 2000 x 1000 altså et resultat der giver et overskud på 150 mm til at lave en radius.
Jeg ved ikke om det hjalp, men den rest der er efter at der er valgt bredde og højde skal automatisk være den højde der er max for indtastningen i radius feltet.
Nej for jeg glemte at skrive at feltet bredde skal svare til feltet buebredde og feltet dybde skal svare til feltet buedybde så der på den måde er 4 felter og ikke 3 det var min fejl SORRY :o)
Ok så er det tæt på, kan du hjælpe med hvis der f.eks ikke er tastet noget i en af felterne så må den jo ikke bare gå videre til næste side men lige give en besked om at der skal tastet i de givne felt ?!?
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.