Avatar billede perstig Nybegynder
27. oktober 2005 - 09:33 Der er 7 kommentarer

Validering af inputbox

Jeg har en inputbox hvor der skal skrive initialer ind i.
Når boxen forlades(onchange) skal det indtastede valideres op imod et recordset, Hvis det indtastede init findes i recordset skal der bare kunne tab'es videre til næste felt, hvis ikke skal der vises en messagebox/alert som oplyser at det indtastede init ikke findes.

Er der en der har en ide til hvorledes det nemmest kan lade sig gøre.

Jeg kan nemt lave en javascript som tjekker en variabel og returnerer en messagebox, men hvordan får jeg kombineret tjekket af recordset og tjekket i javascriptet.
Avatar billede softspot Forsker
27. oktober 2005 - 10:08 #1
Hvis det er en overkommelig og rimelig statisk mængde initialier, så kan du lægge dem i et array og sende dem med ud til klienten. Der kan du så lave et opslag i array'et når brugeren indtaster initialierne. Dette giver en løsning som er hurtig, men det betyder naturligvis at initialer som oprettes efter sidste sideopdatering ikke kommer med.
Avatar billede perstig Nybegynder
27. oktober 2005 - 10:21 #2
det er under 1000 init, og jeg har dem faktisk liggende i et array i forvejen.

Kan du ikke være lidt mere konkret, evt. med lidt kode eksempeler.

Jeg har følgende:

Array hedder arrInit.

Og mit forsøg med et tjek at en variabel i et java script:
<input type="text" name="init" onchange="TjekInit(this)">                                       
<SCRIPT LANGUAGE="JavaScript">
<!--
    function TjekInit(init){
    var opinit
    opinit = init.value
    if (init.value == "prsh")
        confirm('test '+ opinit +' ja');
    if (init.value != "prsh")
        confirm('test '+ opinit +' nej');
    }
-->
</SCRIPT>
Avatar billede softspot Forsker
27. oktober 2005 - 10:28 #3
Jo, men det lød bare som om du ikke havde problemer med at kode javascript, så derfor lavede jeg ikke noget eksempel.

En metode kunne være:

function initExists(strInit) {
  strInit = strInit.toLowerCase();
  for(var i = 0; i < arrInit.length; i++) {
    if(arrInit[i].toLowerCase() == strInit) return true;
  }
  return false;
}

Jeg siger ikke at denne metode er den der performer bedst, men hvis du bare skal have løst opgaven er det da et bud... :)
Avatar billede perstig Nybegynder
27. oktober 2005 - 10:39 #4
Fint fint

hvordan får jeg så messageboxen frem når ikke init findes
Avatar billede softspot Forsker
27. oktober 2005 - 10:46 #5
Jeg kan ikke lige gennemskue om det er det rigtige sted koden er indsat, men jeg ville da foreslå flg. modificering af det script du viste tidligere:

function TjekInit(init){
  var opinit;
  opinit = init.value;
  if(initExists(opinit)) {
    if (init.value == "prsh")
      confirm('test '+ opinit +' ja');
    else
      confirm('test '+ opinit +' nej');
  }
  else
    alert('initialerne findes ikke...');
}
Avatar billede perstig Nybegynder
28. oktober 2005 - 12:11 #6
Tak for dine svar med det dur ikke
Avatar billede softspot Forsker
28. oktober 2005 - 12:33 #7
Kan ud være mere specifik omkring hvordan det skal implementeres og hvad det er du vil, for der er åbenbart et eller andet jeg har misforstået. Desuden vil jeg høre hvad det er der ikke dur...
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