Avatar billede bigo Nybegynder
27. marts 2003 - 09:00 Der er 2 kommentarer og
1 løsning

er variabel et nummer eller er variabel i array

Hejsa igen..

jeg har en stump kode som skal validere en variabel.

er det et nummer
er det inden i mit array
  nej : alert!
ellers
alt er godt
slut

men jeg kan ikke få det til at virke.

kode:

  function ValidatePort(Element)
  {

    var services = new Array('DNS', 'HTTP', 'HTTPS', 'SMTP', 'POP3', 'FTP', 'TELNET', 'SSH', 'NTTP', 'IKE', 'MS-SQL', 'MYSQL');
    for( i = 0; i < services.length; i++ )
    {
      if (Element.value)
      {
        if(isNaN(parseInt(Element.value)))
        {
          if (Element.value.toUpperCase() != services[i])
          {
              alert('Dette er IKKE en kendt service. F\370lgende Services er kendte: \n' + services.join("\n") + '\neller portnummer
angivet i tal (f.eks. 53 for DNS)');
              Element.style.backgroundColor = 'red';
              Element.title = 'Service ukendt.';
              Element.select();
              Element.focus();
              return(false);
          }
          else
          {
              Element.style.backgroundColor = 'white';
              Element.title = 'Service er ok';
              return (true);
          }
        }
        else
        {
          Element.style.backgroundColor = 'white';
          Element.title = 'Service er ok';
          return (true);
        }
      }
    }
  }

Selv om jeg skriver f.eks. ftp så laver den en alert. og jeg forstår godt hvorfor. ftp er ikke = dns som er den første i arrayet.. så den alerter.

Jeg ville gerne have at den kørte hele arrayet igennem så at hvis det ikke er et nummer så check hele arrayet igennem.. hvis det så ikke er godt nok - alert.
ellers skal den bare acceptere.

Anyone
Avatar billede =maddog= Nybegynder
27. marts 2003 - 09:31 #1
function ValidatePort(Element)
  {

    var services = new Array('DNS', 'HTTP', 'HTTPS', 'SMTP', 'POP3', 'FTP', 'TELNET', 'SSH', 'NTTP', 'IKE', 'MS-SQL', 'MYSQL');
      if (Element.value)
      {
        if(isNaN(parseInt(Element.value)))
        {
          found = false; count = 0;
          while (!found&&(services.length!=count)) {
              found=(Element.value.toUpperCase() == services[count]);
            count++;
          }
          alert(found);
          if (found) {
              // do something
          } else {
            // do something else
          }
        }
        else
        {
          Element.style.backgroundColor = 'white';
          Element.title = 'Service er ok';
          return (true);
        }
      }
  }

cirka
Avatar billede bigo Nybegynder
27. marts 2003 - 09:49 #2
Hvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad det virker.. takker million mange gange...
Avatar billede =maddog= Nybegynder
27. marts 2003 - 09:51 #3
ingen problemer.
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