Avatar billede nielsgron Nybegynder
18. oktober 2001 - 12:41 Der er 34 kommentarer og
3 løsninger

Formmail - erstat Submit-knappen

Er der nogen der ved, om det er muligt, i en formmail, at erstatte Submit-knappen med et almindeligt tekstlink?
Hvis, hvordan gør man det så?
Avatar billede Slettet bruger
18. oktober 2001 - 12:42 #1
<a href=\"#\" onclick=\"this.form.submit()\">Send</a>
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 12:52 #2
Eller hvis du ønsker et billede som submit-knap:

<input type=\"image\" border=\"0\" name=\"imageField\" src=\"send.gif\" width=\"43\" height=\"17\" alt=\"Send\">
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 12:54 #3
Skal mit script så se sådan ud:

<form name=\"test\" method=\"post\" action=\"test2.php\">
  <input type=\"hidden\" name=\"navn\" value=\"fisk\">
<a href=\"test2.php\" onclick=\"this.form.submit()\">Send</a>
</form>

eller hva...?
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 12:54 #4
>pelkjaer> det SKAL vær et tekstlink.
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 12:56 #5
Så brug el_barto\'s! Det var bare en kommentar.
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 13:02 #6
OK. Tak anyway pelkjaer

Nå, men skal mit script hvis jeg bruger ovenstående script, så får jeg følgende fejl-meddelelse:

\"Der opstod en fejl under kørslen.

Linie: 9
Fejl: \'this.form\' er null eller ikke et objekt.\"

Linie 9 er følgende:
<input type=\"hidden\" name=\"navn\" value=\"fisk\">
Avatar billede olebole Juniormester
18. oktober 2001 - 13:18 #7
<ole>
Smid en URL...... uden er det ikke til at vide, hvor fejlen ligger. Det er i det mindste ikke i den linie, det er galt.
Det tyder på, at du tester i IE - og dens fejl rapportering sutter *BIG TIME* ....så tag ikke for tungt, hvor den påstår du fejler. Det er ofte helt forkert  :o)
/mvh
</bole>
Avatar billede olebole Juniormester
18. oktober 2001 - 13:19 #8
I øvrigt er et link ikke et form-element og kan derfor ikke referere til formen med \'this.form\'. Skriv:
    <a href=\"#\" onclick=\"document.DITFORMNAVN.submit()\">Send</a>
/mvh
Avatar billede olebole Juniormester
18. oktober 2001 - 13:20 #9
....den linie ser IE åbenbart som linie 9  ;o)
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 13:27 #10
Dette her virker.

<form method=\"POST\" action=\"http://scripts.abusiness.dk/formmail.pl\";; name=\"form\">
  <input type=\"hidden\" name=\"redirect\" target=\"mainFrame\" value=\"http://www.ditnavn.dk\">
<input type=\"hidden\" name=\"recipient\" value=\"mail@mail.dk\">
<a href=\"#\" onclick=\"document.form.submit()\">Send</a>
</form>
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 13:28 #11
Nå ja. Ikke sikkert at target skal være mainframe :)
Avatar billede olebole Juniormester
18. oktober 2001 - 13:32 #12
pelkjaer >> Nej, men til gengæld helt sikkert, der aldrig skal være target i et input-felt  ;o)
/mvh
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 13:34 #13
Nå..det har jeg da brugt på demenssiden.. Hvad skal det så være hvis den skal redirecte til en frame?
Avatar billede olebole Juniormester
18. oktober 2001 - 13:39 #14
Det er helt galt og vil kun funke i IE - fordi den ikke aner det første om HTML, men accepterer stort set, hvad der bliver skrevet. Den gætter - nogen gange rigtig, men desværre langtfra altid  :(
Du kan kun sætte et target på selve form-tag\'et  ;o)
/mvh
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 13:53 #15
Olebole>>Skal det istedet være sådan her fx.

<form method=\"POST\" target=\"mainFrame\" action=\"http://scripts.abusiness.dk/formmail.pl\";; name=\"form\">


Jeg ville lige teste det du sagde. Det jeg havde gjort virker nu osså i NS 6. NS 4 ved jeg ikke fordi jeg har lige opdaget en fejl ang. et valideringsscript :-)
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 14:43 #16
Okay...Jeg er pænt forvirret nu.

Kan i ikke skrive hvad scriptet skal være, hvis jeg vil sende værdien \'fisk\' fra siden test1.htm til siden test2.php.- hvor der bliver brugt et tekstlink.
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 14:55 #17
Nu har jeg lavet dette script:

<form name=\"test\" method=\"post\" action=\"test2.php\" target=\"mainframe\">
  <input type=\"hidden\" name=\"navn\" value=\"fisk\">
  <a href=\"test2.php\" onclick=\"document.test.submit()\">Send</a>
</form>

- og nu virker det næsten. Men når man trykker på linket, åbnes det i et nyt vindue, hvor det virker.- og det skal det jo ikke!
- hvad gør jeg nu?
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 15:01 #18
slet target=\"mainframe\"
Avatar billede olebole Juniormester
18. oktober 2001 - 15:45 #19
pelkjaer >> Husk - vedr. validering - at en forms onsubmit-handler aldrig fres af, når der submittes via JavaScript. *Kun*, når der submittes via en <input type=\"submit\"> eller <input type=\"image\">  ;o)
/mvh
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 15:50 #20
Nu begynder det at blive lidt absurt:

Hvis jeg slette \'target=\"mainframe\"\', så sender den ikke værdien \'fisk\' videre. variablen $navn, som skulle indenholde \'fisk\', er tom når den ankommer i test2.php.

Hvad kan fejlen være?
Avatar billede olebole Juniormester
18. oktober 2001 - 15:54 #21
nielsgron >> Jo...test2.php kender garanteret $navn! Du må lave en anden fejl, så.
/mvh
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 16:33 #22
test2.php:

<?
if($HTTP_POST_VARS){
foreach($HTTP_POST_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_COOKIE_VARS){
foreach($HTTP_COOKIE_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_GET_VARS){
foreach($HTTP_GET_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_SERVER_VARS){
foreach($HTTP_SERVER_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_ENV_VARS){
foreach($HTTP_ENV_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}
?>
<?
  print \"$navn\";
?>

Jeg kan ikke finde nogen fejl!
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 16:35 #23
olebole>>Din sidste kommentar ang. validering forstår jeg ikke.

Jeg submitter vel også med <input type=\"image\">  på siden med mit problem..ja jeg ved det sq\' ikke :D

Hvaaed, har du glemt min scroller helt :)
Avatar billede olebole Juniormester
18. oktober 2001 - 17:02 #24
pelkjaer >> Nej, jeg har ikke glemt dig - men har det nærmest, som om jeg havde glemt mig selv....traaaaavlt  :o(
Hvis du fyrer en form af med \'document.formnavn.submit()\', fyres onsubmit-handleren ikke af - det var bare det, jeg ville nævne. Jeg ved ikke, hvordan du fyrer den af..........men jeg håber da, du fyrer den af i ny og næ! Hehe...!  :)

nielsgron >> Næhhhh, men det behøver jo ikke være i det dokument  :)
Prøv at sende med method=get og se, hvad der står i URL\'en i adresselinien, når formen submittes. Så kan du se, om \'navn\' er sat - og til hvad  :)
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 17:34 #25
olebole>> ingen forskel what so ever!
Avatar billede olebole Juniormester
18. oktober 2001 - 17:35 #26
Var den sat?
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 19:04 #27
sat? - hvad mener du? variablen var tom.
Avatar billede olebole Juniormester
18. oktober 2001 - 19:13 #28
Stod der:
  \'test2.php?navn=\'
...i adresselinien? Det er, hvad jeg er interesseret i - ikke hvad \'test2.php\' mente om $navn  ;o)
/mvh
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 19:14 #29
Jeg fik at vide andetsteds, at man kunne bruge javascript til det, og da jeg erstattede \"<a href=\"#\" onclick=\"this.form.submit()\">Send</a>\" med \"<a href=\"java script:document.forms[\'form\'].submit();\">SUBMIT</a>\" virkede det. :D

Som tak for hjælpen, for den var der jo en del af, har i fået nogle point(godt nok kun sølle 5p)

Jeg har dog fået lidt dårlig samvittighed over, at i kun får 5p for så meget hjælp, så hvis i vil svare igen(jeg havde desværre allerede accepteret jer, da jeg fik ideen), så er der ikke noget med, at man kan hæve pointantallet til et sp?
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 19:16 #30
Nej, der stod ikke noget.
Avatar billede olebole Juniormester
18. oktober 2001 - 19:22 #31
Jamen, det ene er ikke mere JavaScript end det andet...det er begge dele i rasende grad JavaScript.

Til gengæld troede jeg for længst, du havde rettet det med \'this.form\', som jeg allerde i mit indlæg 18/10 2001 13:19:38 påpegede som værende fejlen  :o)
/mvh
Avatar billede olebole Juniormester
18. oktober 2001 - 19:24 #32
....og tag dig iøvrigt ikke af det med points. Havde det været joints, se SÅ havde du været i vanskeligheder!  *-/
*ROTFL* 
Avatar billede nielsgron Nybegynder
18. oktober 2001 - 19:35 #33
>> det med \'this.form\' var også ændret i scriptet. Det var en fejl, at jeg skrev det.

>>Fino, så er det hele jo i vinkel ik´?

/HYGGE/
Avatar billede olebole Juniormester
18. oktober 2001 - 19:41 #34
Uha....nu ser jeg ligepludselig, du har kaldt din form for \'form\'. Det er meget uhensigtsmæssigt, da \'form\' er et reserveret ord i JavaScript. Måske er det derfor, der går ged i JavaScript, hvis du kalder med:
  <a href=\"#\" onclick=\"document.form.submit()\">Send</a>

Prøv med et andet navn på formen....f.eks. \'ib\' - så funker både:
    <a href=\"#\" onclick=\"document.ib.submit()\">Send</a>
...og
    <a href=\"java script:document.forms[\'ib\'].submit()\">Send</a>
Array-notationen (sidste eksempel) er dog en del langsommere  ;o)
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 22:00 #35
olebole>>Jeg ved sq\' heller ikke altid selv hvordan jeg fyrer den af *LOOOOL*

nielsgron>>Jeg takker for de lidt billige point :)
Avatar billede olebole Juniormester
18. oktober 2001 - 22:13 #36
pelkjaer >> Jeg er sikker på, Pytmand her ville have udbrudt:

\"Pyyyyyyyyt med deeeeet....! Bare du kan mærke det dagen efter - så pyyyyyt med, hvordan du fyrede den af!\"

*LooOooOooL*
Avatar billede pelkjaer Nybegynder
18. oktober 2001 - 22:18 #37
Og dertil ville Jowjowmanden have følgende kommentar:

\"JooWJooooWW, bare det var sjooowt, så gååår deet noouk!\"

*GG*
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
Kurser inden for grundlæggende programmering

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