[js] meerdere form actions

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

  • Righteye
  • Registratie: Juli 2000
  • Laatst online: 18-03 08:27

Righteye

Mijn rechteroog dus.....

Topicstarter
Zal wel doodsimpel zijn, maar kom er niet uit.

<FORM onSubmit="return validate (this)"
document.location.href = "nlbedankt.htm"
action="mailto: s.klappe@chello.nl"
enctype="text/plain"
method="post">

De bedoeling is dus dat het form gemaild wordt aan mij en dat voor de verstuurder de pagina nlbedankt.htm wordt geopend op de plek van het form (dus geen popup), een dubbele 'action' dus. Dit werkt zo in elk geval niet.
Wie weet de oplossing ?

Weblog van Righteye's gezinnetje - De grote grappige plaatjes website


  • Kris
  • Registratie: Maart 2002
  • Laatst online: 15:38
Weet niet of het zo mogelijk is..

Wat je wel kan doen is gewoon alles in 1 pagina houden.
Als dan gesubmit wordt lees je een ander deel van de pagina uit waar gemaild en bedankt wordt.

  • Righteye
  • Registratie: Juli 2000
  • Laatst online: 18-03 08:27

Righteye

Mijn rechteroog dus.....

Topicstarter
Heb je daarvoor dan ook effe de syntax(basisopbouw) of een linkje naar een tutor/voorbeeld ?

Ben trouwens nog steeds benieuwd of het ook kan zoals mijn oplossing in eerste instantie.

Weblog van Righteye's gezinnetje - De grote grappige plaatjes website


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Je javascript zat niet lekker in elkaar.
je kunt dit eens proberen:
code:
1
2
&lt;FORM onSubmit=&quot;return validate (this);document.location.href = 'nlbedankt.htm'&quot; 
action=&quot;mailto: s.klappe@chello.nl&quot; enctype=&quot;text/plain&quot; method=&quot;post&quot;&gt;

www.jurgroessen.nl


  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 31-08 12:55
Misschien zo:

<html>
<head>
<script language="Javascript">
function validate(theForm)
{
//valideer blaat hierzo waarbij theForm
//een ref naar het formulier is....

theForm.submit();
self.location = "bedankt.htm";
}
</script>
</head>
<body>
<form action="mailto:blaat@blaat.nl" enctype="text/plain" method="POST">
<input type="button" value="GO" onclick="validate(this.form);">
</form>
</body>
</html>

Suc6

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

omdat je met een return in de onsubmit begint worden de verdere statements niet uitgevoerd. dat zou eerder iets moeten zijn als

if(!validate(this))return false;

dan returnt die alleen als er iets niet valideert.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Lijkt me handiger dan om in een hidden (i)frame ofzo die mailto:nogwat uit te voeren en vervolgens de pagina te refreshen een seconde later...

Maar handig is het niet.. misschien kun je beter kijken voor iets als een CGI-script als FormMail? action/mailto is niet echt aan te raden.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 15:53

RM-rf

1 2 3 4 5 7 6 8 9

Op zaterdag 20 juli 2002 14:46 schreef Clay het volgende:
omdat je met een return in de onsubmit begint worden de verdere statements niet uitgevoerd. dat zou eerder iets moeten zijn als

if(!validate(this))return false;

dan returnt die alleen als er iets niet valideert.
dat is nou niet bepaald net, het is meer code, en de refferer wil je nou net ook enkel uitvoeren als dit valideert, dus het is beter deze refferer in de valifatie functie te zetten, mogelijk met een setTimeout, zodat eerst de form-actie nog wordt uitgevoerd;

je kunt dan in je onsubmit = "return validate (this, 'bedankt.htm')"

en in je validatie-functie iets als:
code:
1
2
3
4
5
6
7
8
9
10
function validate(theForm, theUrl)
{
   while(checkVar)
   {
     checkVar = checks() // breaks zodra checkVar false is
   }
   if (checkVar) 
    setTimeout(&quot;window.location.href = '&quot;+theUrl+&quot;'&quot;, 500)
   return checkVar
}

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Righteye
  • Registratie: Juli 2000
  • Laatst online: 18-03 08:27

Righteye

Mijn rechteroog dus.....

Topicstarter
Op zaterdag 20 juli 2002 14:24 schreef Hangloozz het volgende:
Je javascript zat niet lekker in elkaar.
je kunt dit eens proberen:
code:
1
2
&lt;FORM onSubmit=&quot;return validate (this);document.location.href = 'nlbedankt.htm'&quot; 
action=&quot;mailto: s.klappe@chello.nl&quot; enctype=&quot;text/plain&quot; method=&quot;post&quot;&gt;
Dit werkt i.e.g. niet, thanx anyway

Weblog van Righteye's gezinnetje - De grote grappige plaatjes website


  • Righteye
  • Registratie: Juli 2000
  • Laatst online: 18-03 08:27

Righteye

Mijn rechteroog dus.....

Topicstarter
Op zaterdag 20 juli 2002 15:16 schreef RM-rf het volgende:

[..]

je kunt dan in je onsubmit = "return validate (this, 'bedankt.htm')"

en in je validatie-functie iets als:
code:
1
2
3
4
5
6
7
8
9
10
function validate(theForm, theUrl)
{
   while(checkVar)
   {
     checkVar = checks() // breaks zodra checkVar false is
   }
   if (checkVar) 
    setTimeout(&quot;window.location.href = '&quot;+theUrl+&quot;'&quot;, 500)
   return checkVar
}
Kun je me ook vertellen hoe ik dat in de validate.js pas ?

----------------
<!-- Begin
function validate (myForm) {
if (myForm.name.value == "") {
alert("U heeft geen naam ingevuld, probeer het opnieuw.")
return (false)
}
if (myForm.name.value.length < 3) {
alert("U heeft een te korte naam ingevuld, probeer het opnieuw.")
return (false)
}
var _exp = new RegExp(/^[a-z .]+$/i);
var _test =_exp.test(myForm.name.value);
if(!_test){
alert("U heeft ongeldige karakters in uw naam gebruikt, probeer het opnieuw.");
return (false)
}

if (myForm.adress.value == "") {
alert("U heeft geen adres ingevuld, probeer het opnieuw.")
return (false)
}
if (myForm.adress.value.length < 5) {
alert("U heeft een te kort adres ingevuld, probeer het opnieuw.")
return (false)
}
var _exp = new RegExp(/^[a-zA-Z 0-9 -]+$/i);
var _test =_exp.test(myForm.adress.value);
if(!_test){
alert("U heeft ongeldige karakters in uw adres gebruikt, probeer het opnieuw.");
return (false)
}

if (myForm.zipcode.value == "") {
alert("U heeft geen postcode ingevuld, probeer het opnieuw.")
return (false)
}
if (myForm.zipcode.value.length < 6) {
alert("U heeft een te korte postcode ingevuld, probeer het opnieuw.")
return (false)
}
var _exp = new RegExp(/^[a-zA-Z 0-9]+$/i);
var _test =_exp.test(myForm.zipcode.value);
if(!_test){
alert("U heeft ongeldige karakters in uw postcode gebruikt, probeer het opnieuw.");
return (false)
}

if (myForm.city.value == "") {
alert("U heeft geen plaatsnaam ingevuld, probeer het opnieuw.")
return (false)
}
if (myForm.city.length < 5) {
alert("U heeft een te korte plaatsnaam ingevuld, probeer het opnieuw.")
return (false)
}
var _exp = new RegExp(/^[a-zA-Z ']+$/i);
var _test =_exp.test(myForm.city.value);
if(!_test){
alert("U heeft ongeldige karakters in uw plaatsnaam gebruikt, probeer het opnieuw.");
return (false)
}

if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value)){
return (true)
}
alert("U heeft een ongeldig e-mail adres ingevuld, probeer het opnieuw.")
return (false)

}
// End -->

Heb al het een en ander geprobeerd, maar lukt niet echt (CheckVar is niet gedefinieerd ?). Wie helpt me verder ?

Weblog van Righteye's gezinnetje - De grote grappige plaatjes website


  • Righteye
  • Registratie: Juli 2000
  • Laatst online: 18-03 08:27

Righteye

Mijn rechteroog dus.....

Topicstarter
Kan dan niemand me vertellen hoe ik die 2 javascriptjes samenvoeg (zie hierboven) er en gemaild en een thanks geopend wordt ?

Weblog van Righteye's gezinnetje - De grote grappige plaatjes website


  • cutter
  • Registratie: November 2000
  • Laatst online: 28-09-2025

cutter

Wannabe i7 fanboy

Zelf doen, dit begint naar een scriptreq te ruiken. Succes verder. :)
Pagina: 1

Dit topic is gesloten.