Avatar billede sanne Nybegynder
31. oktober 2005 - 13:25 Der er 13 kommentarer og
1 løsning

værdi i textbox viser dynamisk række i tabel

I forbindelse med online betaling, har jeg et textfelt hvor brugeren skal indtaste sit kortnummer.

Hvis dette kortnummer starter med cifrene 5019 eller 4571 skal der vises en linie med ét administrationsgebyr. Hvis kortnummeret starter med andre cifre end de to nævnte skal der vises en linie med et andet administrationsgebyr.

Lige nu har jeg et script der ser sådan ud:

<SCRIPT>
function visAdm(val) {
  var x = Left(val,4);
  if (x == 5019) OR (x == 4571)
      document.getElementById('adm').style.display='block'
  else
      document.getElementById('adm').style.display='none'
}
</SCRIPT>

og i indtastningsfeltet er der følgende:

onChange="visAdm(this.value)"

men der kommer en fejl: Et objekt var ventet

Hvad gør jeg forkert?
Avatar billede fennec Nybegynder
31. oktober 2005 - 13:30 #1
var x = val.substr(0,4);
if (x == '5019' || x == '4571')
Avatar billede softspot Forsker
31. oktober 2005 - 13:30 #2
Det er nok fordi Left er en VBScript-funktion og browseren benytter pr. default javascript (og du benytter en hybrid ;-))...

Prøv i stedet:

<script type="text/javascript">
function visAdm(val) {
  var x = val.substr(0,4);
  if ((x == "5019") || (x == "4571"))
      document.getElementById('adm').style.display='block';
  else
      document.getElementById('adm').style.display='none';
}
</script>
Avatar billede sanne Nybegynder
31. oktober 2005 - 13:50 #3
Sådan - så var det jo bare mig der var dum!
Jeg vil gerne ligge flere point oveni, hvis I også kan hjælpe mig med det næste problem:
Samme funktion skal beregne et geyr, og dette gebyr skal stå i en celle i den række der nu kommer tilsyne, men det skal ikke stå i et indtastningsfelt, det skal bare stå helt almindeligt som et tal i cellen. Kan man det?
Avatar billede softspot Forsker
31. oktober 2005 - 13:59 #4
Du kan bare lægge et div-element med et id i den celle, der hvor gebyret skal stå og så benytte samme metode til at finde det (dvs. getElementById('gebyr')) og lægge værdien i med innerHTML...
Avatar billede softspot Forsker
31. oktober 2005 - 14:01 #5
<script type="text/javascript">
function visAdm(val) {
  var gebyr = "100,00";
  var x = val.substr(0,4);
  if ((x == "5019") || (x == "4571"))
      document.getElementById('adm').style.display='block';
  else
      document.getElementById('adm').style.display='none';

  document.getElementById('adm').innerHTML = gebyr;
}
</script>
Avatar billede softspot Forsker
31. oktober 2005 - 14:01 #6
Sludder! Det skal naturligvis hedder noget andet...

<script type="text/javascript">
function visAdm(val) {
  var gebyr = "100,00";
  var x = val.substr(0,4);
  if ((x == "5019") || (x == "4571"))
      document.getElementById('adm').style.display='block';
  else
      document.getElementById('adm').style.display='none';

  document.getElementById('gebyret').innerHTML = gebyr;
}
</script>
Avatar billede sanne Nybegynder
31. oktober 2005 - 14:16 #7
Det bliver jo bedre og bedre.

Kan du så som en sidste ting også fortælle mig hvordan jeg får tallet formateret så det bliver med to decimaler - så er jeg i mål!
Avatar billede sanne Nybegynder
31. oktober 2005 - 14:17 #8
og så gerne som et svar så du kan få point
Avatar billede softspot Forsker
31. oktober 2005 - 14:42 #9
<script type="text/javascript">
function visAdm(val) {
  var gebyr = "100.00";
  var x = val.substr(0,4);
  if ((x == "5019") || (x == "4571"))
      document.getElementById('adm').style.display='block';
  else
      document.getElementById('adm').style.display='none';

  var iGebyr = new Number(gebyr);
  document.getElementById('gebyret').innerHTML = iGebyr.toFixed(2).replace(/[\.]/g,",");
}
</script>
Avatar billede sanne Nybegynder
31. oktober 2005 - 15:05 #10
Tusind tak - nu fungere alt som ønsket
Avatar billede sanne Nybegynder
31. oktober 2005 - 15:06 #11
jeg ville gerne ligge ekstra point på som lovet - men hvordan gør jeg det?
Avatar billede softspot Forsker
31. oktober 2005 - 15:07 #12
Det skal du ikke gøre for min skyld, men det kan være fennec er interesseret i lidt for sin løsning i starten... i så fald skal du nok oprette et nyt spørgsmål hvor du refererer til dette og skriver at det er point til fennec...
Avatar billede softspot Forsker
31. oktober 2005 - 15:07 #13
Tak for point i øvrigt :)
Avatar billede fennec Nybegynder
31. oktober 2005 - 15:13 #14
Jeg behøver ikke point...
.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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