Avatar billede larssmile Nybegynder
01. oktober 2001 - 11:44 Der er 17 kommentarer og
3 løsninger

Value

Hej jeg håber at der er nogle af jer kloge java folk der kan hjælpe mig med mit lille java projekt.

Jeg har en liste i en form der dannes via asp.
Listen består af et nummer og et text felt. Navnet på text feltet er det samme som nummeret. Jeg vil gerne lave noget java er kontrollere indholdet på hver linie. Jeg kan bare ikke lige gennemskue hvordan jeg henter værdierne. Har prøvet med noget i denne retning:
onChange=\"
tjek(this.form.navnpåfelt, this.form.navnpåfelt.value)\"

og mit script er:

<SCRIPT LANGUAGE=\"JavaScript\">

function Tjek(fieldName, fieldValue) {

if (isNaN(fieldValue) || fieldValue == \"\") {
alert(\"fejl i felt\");
fieldName.select();
fieldName.focus();
}
}
</script>

Håber at der er nogle der kan gennemskue det.

På forhånd tak.
Lars

Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 11:46 #1
måske - tjek(this.name,this.value)
Avatar billede nute Nybegynder
01. oktober 2001 - 11:49 #2
du bruker:

onChange=\"tjek(this)\"

deretter kan du i din \"tjek\" function finne verdien av pågjeldende element:


<SCRIPT LANGUAGE=\"JavaScript\">

function Tjek(formElem) {
  fieldValue = \"\"
  if( formElem.type == \"select\" ){
    fieldValue = formElem.options[formElem.selectedIndex].value;
  } else {
    fieldValue = formElem.value;
  }
if (fieldValue == \"\") {
alert(\"fejl i felt\");
fieldName.select();
fieldName.focus();
}
}
</script>


Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 11:56 #3
Det her virker:


<SCRIPT LANGUAGE=\"JavaScript\">

function Tjek(fieldName, fieldValue) {

alert(fieldName+fieldValue);

if (isNaN(fieldValue) || fieldValue == \"\") {
alert(\"fejl i felt\");
document.getElementById(fieldName).select();
document.getElementById(fieldName).focus();
}
}
</script>

</head>

<body>

<form name=\"f\">

<input type=\"text\" name=\"t\" onkeyup=\"Tjek(this.name, this.value)\">

</form>
Avatar billede jakoba Nybegynder
01. oktober 2001 - 12:01 #4
for at adressere et felt bør du anvende både et navn på feltet og et navn på den form feltet ligger i (Hvis jeg spørger din mor hvem lars er ved hun det nok, men hvis jeg spørger din mormor skal der nok være en fætter eller onkel med samme navn til at lave forvirring).

<form  name=\"olsen\">
<input name=\"lars\" type=\'text\' value=\"noget du skrev med asp\">
</form>

nu kan du adressere feltet med:
  var vaerdi = document.olsen.lars.value;
  var adresse = document.olsen.lars;
hvis du ønsker at give \'lars\' med som fieldname (og ved det er formen \'olsen\' sagen drejer sig om kan du skrive din funktion som:

<SCRIPT LANGUAGE=\"JavaScript\">
                          // kaldes med  Tjek( \'lars\', \'en værdi\' );
function Tjek(fieldName, fieldValue) {
    if (isNaN(fieldValue) || fieldValue == \"\") {
        alert(\"fejl i felt\");
        document.olsen.elements[fieldName].select();
        document.olsen.elements[fieldName].focus();
    }
}
</script>

mvh JakobA
Avatar billede larssmile Nybegynder
01. oktober 2001 - 12:03 #5
Nute>
Du har ret men der er ikke nogen fieldName og jeg får derfor en fejl med focus ect.

Nikolajdu>
Det funker! Send et svar og du får point!

Ps. jeg er ny her - wow hvor går det hurtigt med at svare. Man kan helt sikker se at det er folk der ved hvad de taler om..
Med andre ord MANGE TAK for hjælpen.

Lars
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:04 #6
Glem min - Jeg tågede lige.
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:04 #7
Funker?? Jeg har jo ingen select med? Det må da være rent held... *lol*
Avatar billede nute Nybegynder
01. oktober 2001 - 12:09 #8
larssmile >> i mitt eksempel så skal du bytte ut:

fieldName.select();
fieldName.focus();

med:

formElem.select();
formElem.focus();

/nute
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:09 #9
I øvrigt skal du lige være opmærksom på at getElementById kun virker i IE 5.0 og op og Netscape 6.x.
Avatar billede larssmile Nybegynder
01. oktober 2001 - 12:12 #10
\"document.getElementById(fieldName).select();\"
(står i linie 9)

Det er da vist så meget select som man kan skrive - og så virker det.

:-)
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:15 #11
Hvis du er tilfreds - så er jeg også. Stadigt rent held :-)
Avatar billede jakoba Nybegynder
01. oktober 2001 - 12:18 #12
Desværre skynder vi os ofte såmeget at det bliver noget vås vi skriver.

Din oprindelige funktion er fin. du skal blot stave funktionens navn rigtigt der hvor du kalder den (dvs med et stort T i Tjek).
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:20 #13
Jakoba, jeg havde set det, men gik ud fra at det var en tastefejl i skyndingen. :-)
Avatar billede larssmile Nybegynder
01. oktober 2001 - 12:22 #14
Ok det er kommet lidt bag på mig alle disse svar jeg havde håbet på at der måske var en der gad at svare om et par dage - alle forslag er gode, nu er problemet bare hvordan fordeler jeg point\'ene på en fair måde. :-)
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:25 #15
Hvis du markerer os alle 3 deler vi dine afsatte point. Hvis du trykker avanceret kan du selv fordele pointene som du lyster. Anyway tror jeg folk er tilfredse med at dele :-)
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:26 #16
Uddyber lige:

\"...Hvis du markerer os alle 3 deler vi dine afsatte point og accepterer....\"
Avatar billede larssmile Nybegynder
01. oktober 2001 - 12:26 #17
Mange Tak.
Avatar billede nute Nybegynder
01. oktober 2001 - 12:26 #18
fino :)
Avatar billede jakoba Nybegynder
01. oktober 2001 - 12:27 #19
anytime :-))
Avatar billede nikolajdu Nybegynder
01. oktober 2001 - 12:27 #20
Anyway, så velkommen til eksperten. Ser frem til gode spørgsmål fra din side af og hvem ved måske er det dig der hjælper mig næste gang :-)
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