Avatar billede jakobsen Nybegynder
16. november 2001 - 22:48 Der er 16 kommentarer og
1 løsning

if in javascript

hej

hvis jeg har denne linie
  if (theForm.modtager.value == \'\')

og den ska kunne finde ud af om value er bokstaver, hvad skal jeg så skrive?
Avatar billede lestrata Nybegynder
17. november 2001 - 00:12 #1
Der er et stk kode klar til dig her:
http://wsabstract.com/script/script2/numc.shtml
Avatar billede lestrata Nybegynder
17. november 2001 - 00:27 #2
eller lidt lettere:

if(isNaN(theForm.modtager.value)){
  alert(\"Du har ikke indtastet et tal\");
}else{
  alert(\"Bravo et tal!\");

}
Avatar billede jakobsen Nybegynder
17. november 2001 - 00:42 #3
hmm.. det skal være noget alá..

  if (isNaN(theForm.nummer.value))
  {
    alert(\'Du har ikke indtastet et tal\');
    theForm.nummer.focus();
    return (false);
  )

men det virker ikke?
Avatar billede olebole Juniormester
17. november 2001 - 05:31 #4
<ole>
Med mindre, du laver fejl andre steder i din kode, fungerer det  =o)
/mvh
</bole>
Avatar billede Slettet bruger
17. november 2001 - 11:45 #5
Det her script returnerer true, hvis den angivne streng består af bogstaver, ellers false:

<script>
function erBS(str) {
minRegExp = /^[a-Z]+$/i;
if (str.match(minRegExp)) return true;
return false;
}
</script>

Det kan fx bruges således:

<script>
testStreng = \"Dette er en streng!\";
testStreng2 = \"Dette er en streng med 1 tal i!\";

if (erBS(testStreng)) alert(\"testStreng består kun af bogstaver!\");
else alert(\"I testStreng indgår der andet end bogstaver!\");

if (erBS(testStreng2)) alert(\"testStreng2 består kun af bogstaver!\");
else alert(\"I testStreng2 indgår der andet end bogstaver!\");
</script>

Dette script vil så udsende to advarselsbokse, en der siger \"testStreng består kun af bogstaver!\" og en anden der siger \"I testStreng2 indgår der andet end bogstaver!\"
Avatar billede Slettet bruger
17. november 2001 - 11:46 #6
Ja, du skal nok lige ændre scriptet til dette:

<script>
function erBS(str) {
minRegExp = /^[a-z]+$/i;
if (str.match(minRegExp)) return true;
return false;
}
</script>
Avatar billede lestrata Nybegynder
17. november 2001 - 18:00 #7
Prøv at ligge dit kode op så vi kan se det, mit svar burde virke, med mindre du har lavet en anden fejl.
Avatar billede randome Nybegynder
17. november 2001 - 21:40 #8
Hej dette virker:

if ( document.theForm.modtager.value.length == 0 ) {
      //dette sker hvis navn.value.length er lig 0
      alert(\"Fejl. navn skal udfyldes\");
      fejl = fejl+1;
      document.theForm.modtager.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis navn.value.length er større end 0
      if ( ! document.theForm.modtager.value.match( /^[a-åA-Å ]+$/ )) {
          alert(\"Fejl. navn kan kun indeholde bogstaver\");
          fejl = fejl+1;
          document.theForm.modtager.focus(); // sætter cursor i feltet navn
          return false;     
      }}
Avatar billede Slettet bruger
18. november 2001 - 18:16 #9
Det er klart, a-å ikke a-z, vi bor jo i Danmark! :-)
Avatar billede olebole Juniormester
19. november 2001 - 01:45 #10
Det er nu ikke helt så klart, eftersom JavaScript ikke forstår æ, ø og å - eller i det mindste ikke bør forstå og heller ikke gør i mange platforms/browser kombinationer.
Ifølge standarden, skal man bruge den escapede oktaltal-værdi af tegnets keyCode:

æ = \\346
ø = \\370
å = \\345
Æ = \\306
Ø = \\330
Å = \\305

/mvh
Avatar billede Slettet bruger
19. november 2001 - 15:38 #11
Ah ha! Så:

<script>
function erBS(str) {
minRegExp = /^[a-z\\346\\370\\345]+$/i;
if (str.match(minRegExp)) return true;
return false;
}
</script>

... eller hvad?
Avatar billede jakobsen Nybegynder
22. november 2001 - 11:40 #12
koden det skal ind i er dette:

<script language=\'JavaScript\'>
function FrontPage_Form1_Validator(theForm)
{

  if (theForm.afsender.value == \'\')
  {
    alert(\'Du har ikke indtastet nogen afsender!\');
    theForm.afsender.focus();
    return (false);
  }
 
    if (theForm.afsender.value.length < 1)
  {
    alert(\'Du har ikke indtastet en gyldig afsender!\');
    theForm.afsender.focus();
    return (false);
  }

  if (theForm.nummer.value == \'\')
  {
    alert(\'Du har ikke valgt nogen modtager!\');
    theForm.nummer.focus();
    return (false);
  }

  if (theForm.nummer.value.length < 8)
  {
    alert(\'Modtagerens nummer skal være netop 8 cifre!\');
    theForm.nummer.focus();
    return (false);
  }

  if (theForm.texten.value == \'\')
  {
    alert(\'Du har ikke indtastet nogen besked!\');
    theForm.texten.focus();
    return (false);
  }

  if (theForm.texten.value.length < 2)
  {
    alert(\'Dette anses for at være spam, stop med det samme!\');
    theForm.texten.focus();
    return (false);
  }

  var checkOK = \'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#402;&#352;&#338;&#381;&#353;&#339;&#382;&#376;ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ\';
  var allValid = true;

  return (true);
}
//--></script>

det er feltet \"nummer\" der skal tjekkes om det kun er tal, (det må kun være tal)..

Avatar billede olebole Juniormester
22. november 2001 - 12:08 #13
Som jeg skrev ovenfor:

&#402;&#352;&#338;&#381;&#353;&#339;&#382;&#376;ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ

Kan slet ikke bruges i JavaScript  :)
/mvh
Avatar billede Slettet bruger
22. november 2001 - 15:28 #14
if (!theForm.nummer.value.match(/^[0-9]+$/) return false;
Avatar billede jakobsen Nybegynder
27. november 2001 - 11:30 #15
virker ikke.. kommer med \"tegnet \')\' var ventet\"

Avatar billede Slettet bruger
27. november 2001 - 15:26 #16
Der mangler også en parantes! Sådan skal de se ud:
if (!theForm.nummer.value.match(/^[0-9]+$/)) return false;
Avatar billede Slettet bruger
27. november 2001 - 15:26 #17
de = det
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