Avatar billede kalaharikid Nybegynder
28. april 2004 - 12:14 Der er 10 kommentarer og
1 løsning

check om 2 felter er tomme med javascript

Jeg laver en form der skal sende en historie afsted via email ....

brugeren kan :

1) skrive historien i et tekst area felt
2) attache eksempelvis et word-doc og sende med

nu vil jeg gerne forsikre mig mod den situation at brugeren HVERKEN har skrevet noget i tekstfelt (historie) eller tilføjet en fil i file feltet (attachment)

Jeg prøver med et script der er blevet anvendt i et andet spørgsmål her på eksperten.dk (http://www.eksperten.dk/spm/171958) og prøver atlave det om til at checke på 2 felter SAMTIDIGT (and, right ?)

men der sker ikke noget check eller også virker det bare ikke ...og da jeg ikke er javascript-haj har jeg brug for hjælp :

her selve scriptet :

<script language="JavaScript" type="text/JavaScript">
<!--

function FormValidatorEdit(theForm){
  if (theForm.historie.value == "") AND (theForm.attachment.value == "")
  {
    alert("Du skal altså enten have skrevet en historie i historiefeltet, eller tilføjet den i feltet ved siden af gennemse knappen !");
    //theForm.navn.focus();
    return (false);
  }
// osv med de sidste felter
//else
  return (true);
}

Der er også andre scripts i kog (Dreamweavers form validering) så på submit knappen ser koden således ud ?


<input name="Submit" type="submit" onClick="MM_validateForm('fornavn','','R','efternavn','','R','adresse','','R','postnummer','','RisNum','by','','R','alder','','NinRange1:16','telefon','','RisNum','email','','RisEmail');return document.MM_returnValue;return FormValidatorEdit(this)" value="Send din historie ">
Avatar billede mm12010 Nybegynder
28. april 2004 - 12:22 #1
funktion skal se således ud:

function FormValidatorEdit(theForm){
  if (theForm.historie.value == ""&&theForm.attachment.value == "")
  {
    alert("Du skal altså enten have skrevet en historie i historiefeltet, eller tilføjet den i feltet ved siden af gennemse knappen !");
    //theForm.navn.focus();
    return (false);
  }
// osv med de sidste felter
//else
  return (true);
}

og så skal dit form tag se således ud:

<form ... onsubmit="return FormValidatorEdit(this);">

hvodan dit DW script harmonerer med vides ikke, men prøv at ændre din knap til:

<input name="Submit" type="submit" onClick="MM_validateForm('fornavn','','R','efternavn','','R','adresse','','R','postnummer','','RisNum','by','','R','alder','','NinRange1:16','telefon','','RisNum','email','','RisEmail');return document.MM_returnValue;" value="Send din historie ">

hvis det opføre sig mærkeligt, skal vi ha sat de 2 funktioner sammen

hvis din DW slet ikke skal bruges længere, kan du ændre knappen til:

<input name="Submit" type="submit" value="Send din historie ">
Avatar billede kalaharikid Nybegynder
28. april 2004 - 12:32 #2
mange tak mm, det var LIGE det der manglede ...pudsigt at jeg havde prøvet med && men havde mellemrum før de 2 tegn (giver det fejl) ? nå, men jeg havde ikke prøvet onSubmit i action-feltet ...virker det her i alle browsere (4+) ?

Læg et svar så vanker der points !

Kakaharikid
Avatar billede kalaharikid Nybegynder
28. april 2004 - 12:39 #3
ups ...nu udfører den ikke dw scriptet ...kan vi sætte dem sammen ?
Avatar billede mm12010 Nybegynder
28. april 2004 - 12:43 #4
du havde et par fejlplacerede parenteser

præcist hvilke browsere der understøtter onsubmit ved jeg ikke, men det er langt størstedelen

hvis du smider kode til MM_validateForm så kigger jeg på det
Avatar billede kalaharikid Nybegynder
28. april 2004 - 12:53 #5
hey, jeg fik det til at funke ..men du må gerne kigge ...for hvem ved ?

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' Skal indeholde en gyldig email-adresse.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' Skal indeholde et tal.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' Din alder skal være mellem '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' skal være udfyldt.\n'; }
  } if (errors) alert('Følgende felter er ikke udfyldt korrekt:\n'+errors);
  document.MM_returnValue = (errors == '');
 
//function FormValidatorEdit(theForm){
  if (form1.historie.value == ""&&form1.attachment.value == "")
  {
    alert("Du skal altså enten have skrevet en historie i historiefeltet, eller tilføjet den i feltet ved siden af gennemse knappen !");
    //theForm.navn.focus();
    return (false);
  }
// osv med de sidste felter
//else
// return (true);
//}
}
//-->

Læg bare svar ;-)
Avatar billede kalaharikid Nybegynder
28. april 2004 - 12:54 #6
ps: skal (theForm) fjernes ...den bruger vi vel ikke længere ?
Avatar billede kalaharikid Nybegynder
28. april 2004 - 12:56 #7
jeg spade, den har jeg jo kommenteret ud og ændret DOM til de reelle navne ...sorry !
Avatar billede mm12010 Nybegynder
28. april 2004 - 13:01 #8
hvis det virker som det er nu, vil jeg tillade mig bare at smide et svar... der er langt til bunden når man roder sig ud DW-kode ;-)

ellers kan du smide koden til din form her, så kan jeg lave en hjemmelavet validering...
Avatar billede roenving Novice
28. april 2004 - 13:24 #9
Er det ikke bare mm12010s første og:

<form ... onsubmit="MM_validateForm('fornavn','','R','efternavn','','R','adresse','','R','postnummer','','RisNum','by','','R', 'alder','','NinRange1:16','telefon','','RisNum', 'email','','RisEmail');return document.MM_returnValue&&FormValidatorEdit(this)">


<input name="Submit" type="submit" value="Send din historie ">
Avatar billede kalaharikid Nybegynder
28. april 2004 - 14:03 #10
bunden er nået helt fint ....tak og points !
Avatar billede mm12010 Nybegynder
28. april 2004 - 14:08 #11
selv tak :o)
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