Avatar billede Tony Juniormester
11. marts 2003 - 10:09 Der er 12 kommentarer og
1 løsning

Spære for given funktion hvis betingelse er 'false' ?

Understående checker for rigtig email adr. og eksekvere alert hvis ikke, men den eksekvere også ’Send’ på samme tid.

Hvordan får jeg den til at undlade at sende, hvis email adressen er forkert ?

Jeg bruger den her: www.sommerhus-til-leje.dk (se nederst på siden)

function checkEmailAddress(field) {
    if ( field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi) ) {
        return true;
    }
    else {
        alert('Indtast venligst en gyldig e-mail adresse.');
        field.focus();
        field.select();
        return false;
    }
}
function mailThisUrl( f ) {
    var u,m,msg;
    u = "http://www.sommerhus-til-leje.dk";
    m = "Vedr. sommerhus til leje ...";
   
    msg = "Sommerhus i Fjerritslev i Nordjylland: "+u;
    if ( checkEmailAddress(f.address) ) {
        window.location = "mailto:"+f.address.value+"?subject="+m+"&body="+msg;
    }
}
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 10:46 #1
Din mailThisUrl() kører du blot som du plejer:

function checkEmailAddress(field) { // Test email
  if (field.value.length > 0) {
  } else {
    alert("Feltet e-mail skal udfyldes.");
    field.focus();
    return false;
  }
  if (field.value != "") {
    if (!isEmail(field.value)) {
      alert("Indtast venligst en gyldig e-mail adresse.");
      field.focus();
      return false;
    }
  }
}

function isEmail(str) { // Valider email
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    return (!r1.test(str) && r2.test(str));
}
Avatar billede Tony Juniormester
11. marts 2003 - 11:00 #2
Hej pelkjaer - long time no see :)

Den vil ikke rigtigt - prøv at test: www.sommerhus-til-leje.dk

Jeg submitter med:
<form method="post" onsubmit="mailThisUrl(this);">

Jeg verificere med:
<input type="submit" name="Submit" value="Send" onClick="checkEmailAddress();">
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:30 #3
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Send adresse til en ven</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>

var u,m,msg;
u = "http://www.sommerhus-til-leje.dk";
m = "Vedr. sommerhus til leje ...";
msg = "Sommerhus i Fjerritslev i Nordjylland: "+u;

function checkEmailAddress(form) { // Test email
  if (form.address.value.length > 0) {
  } else {
    alert("Feltet e-mail skal udfyldes.");
    form.address.focus();
    return false;
  }
  if (form.address.value != "") {
    if (!isEmail(form.address.value)) {
      alert("Indtast venligst en gyldig e-mail adresse.");
      form.address.focus();
      return false;
    }
  }
  window.location = "mailto:"+form.address.value+"?subject="+m+"&body="+msg;
}

function isEmail(str) { // Valider email
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    return (!r1.test(str) && r2.test(str));
}
</script>
</head>

<body>
<form method="post" onsubmit="return checkEmailAddress(this);">
<input type="text" name="address" size="40"><br>
<input type="submit" name="Submit" value="Send">
</form>
</body>
</html>
Avatar billede Tony Juniormester
11. marts 2003 - 11:39 #4
Jeps, so far so god !

Nu ligger funktionen jo i en popup, så der skal nok kobles noget på:

Hvis email forkert > prompt > ret email

Hvis email rigtig > submit > luk vindue
Avatar billede Tony Juniormester
11. marts 2003 - 11:40 #5
Til popup'en bruger jeg:

function PopWin(url,h,w) {
popupWin = window.open(url,'popup','resizable, height='+h+',width='+w+',top=25,left=25')
}
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:44 #6
Tony>>Jeg forstår ikke "hvis email er forkert >promt >ret email"

Har vi ikke det allerede?

Vi har
1: felt skal udfyldes
2: hvis udfyldt men ikke korrekt ->Indtast korrekt email
Avatar billede Tony Juniormester
11. marts 2003 - 11:46 #7
Jo jo :) - det har du helt på plads !

Det var blot mit (hjælpeløse:) forsøg på at skrive alle handlingerne i psudokode ...
Avatar billede Tony Juniormester
11. marts 2003 - 11:48 #8
Det der er problemet er, at jeg kan jo ikke blot kan ligge en window.close med en onClick på 'Send', for så lukker vinduet (popup'en) jo også selvom email adressen er forkert ...
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:49 #9
Kan vi ikke lægge den her:

window.location = "mailto:"+form.address.value+"?subject="+m+"&body="+msg;window.self.close();
}
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:50 #10
Altså

function checkEmailAddress(form) { // Test email
  if (form.address.value.length > 0) {
  } else {
    alert("Feltet e-mail skal udfyldes.");
    form.address.focus();
    return false;
  }
  if (form.address.value != "") {
    if (!isEmail(form.address.value)) {
      alert("Indtast venligst en gyldig e-mail adresse.");
      form.address.focus();
      return false;
    }
  }
  window.location = "mailto:"+form.address.value+"?subject="+m+"&body="+msg;window.self.close();
}
Avatar billede Tony Juniormester
11. marts 2003 - 11:54 #11
Fjing fjong - du er en knag pelkjaer - tusinde tak ! :)

... smid lige et 'svar' ...
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:56 #12
Your welcome :o)

Btw. - hvordan går det med dit project?
Avatar billede Tony Juniormester
11. marts 2003 - 11:58 #13
Det går rigtig fint ! ... kontakt mig lige 'off list' tbst@stofanet.dk
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