Avatar billede mikkel_robin Nybegynder
07. august 2001 - 14:56 Der er 2 kommentarer og
3 løsninger

Hvordan udføres flere actions i en form

Jeg har en form, når den er udfyldt og bliver submittet sendes den til en PHP-fil men jeg vil gerne have at den samtidigt bliver sendt til et cgi form-mail script?!
Avatar billede cool_casper Nybegynder
07. august 2001 - 15:00 #1
Laver en redirect nederst i PHP scriptet!
Avatar billede mikkel_robin Nybegynder
07. august 2001 - 15:03 #2
Har jeg prøvet men der er lige noget med \"Headers already sendt\"
Avatar billede medions Nybegynder
07. august 2001 - 15:32 #3
hmm... er det ikke fordi at der er HTML kode før du skriver din redirect kode?
Avatar billede jakoba Nybegynder
07. august 2001 - 18:43 #4
du kan evt \'submitte formen 2 gange\' ved hjælp af javascript.
for at gøre det skal du have 2 frames klar til at modtage respons.

<script language=\'javascript\'> <!--

function sendCgi( frmNavn ) {
var frm = document.forms[frmNavn];
frm.action=\"dincgiaction.pl\";
frm.target=\"dincgitarget\"; // navn på ramme der modtager cgi respons
frm.submit();
}; //end sendCgi( string )

function validate( frm ) {
    // her indsættes dine tests på om formularen er ordentligt udfyldt
    // hvis den ikke er returneres false:
    if ( testfailed ) return false;

    // så kan vi sende:
    frm.action=\"dinphpaction.php\";
    frm.target=\"dinphptarget\"; // navn på ramme der modtager php respons
                //NB: første target må ikke være den ramme formen ligger i.
    frm.submit();
                // vent så formen får tid at sibmitte til php.
    setTimeout( \"sendCgi(\"+frm.name+\")\", 100 ); // og send så til cgi
    return false;
}: //end validate( form object ) -> boolean false

// --> </script>

nede i formen laver du så en  onsubmit event i dun <form kommando:

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

mvh JakobA
Avatar billede jakoba Nybegynder
07. august 2001 - 18:46 #5
Ups. der skal citationstegn omkring navnet så det bliver en streng:
    setTimeout( \"sendCgi(\"+frm.name+\")\", 100 ); // og send så til cgi
bliver til:
    setTimeout( \"sendCgi(\'\"+frm.name+\"\')\", 100 ); // og send så til cgi
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