19. september 2003 - 09:48
Der er
17 kommentarer og 1 løsning
form og function
Hej jeg har <form> som får sin action fra en funktion som jeg har includeret øverst i min index.php men hvordan får jeg den til at bruge den function? eks: function update(){ ..... } <form method="post" action="<? $PHP_SELF ?>"> <input type="text" name="noget"><br> <input type="submit" onClic="update"> </form> Jeg har lavet min function i mit script men spørgsmålet går simpelthen kun på hvordan for jeg min form til at bruge den funktion jeg har lavet?
Annonceindlæg fra Geoinfo
19. september 2003 - 09:50
#1
Du skal I scriptet "update()" definere en ny action, så snart du trykker på submit .... Finder eksempel ..
19. september 2003 - 09:52
#2
Brug dette til at ændre din forms action: document.forms['dinform'].action = "enandenactionside.php"
19. september 2003 - 09:53
#3
Et svar that were =)
19. september 2003 - 09:54
#4
Den er jeg altså ikke helt med på :-(
19. september 2003 - 09:57
#5
Kan du forklare lidt bedere?
19. september 2003 - 09:59
#6
Det skal lige siges at jeg har MANGE forms på min side, så der skal dælme laves mange forskellige actionfiler. Men har hørt at det smarteste er at lave 1 fil som eks hedder fuknktioner.php og includerer den i toppen af min index.php og bare kalde funktionerne derfra...
19. september 2003 - 10:07
#7
Er du der stadig? Eller er der andre der kan hjælpe mig?
19. september 2003 - 10:07
#8
Hvorfor bruge en funktion til at håndtere POST data?
19. september 2003 - 10:07
#9
Og hvordan ser funktionen ud?
19. september 2003 - 10:11
#10
function update_forside() { include ($DOCUMENT_ROOT . "include/mysql.php"); $conn = mysql_connect("$server", "$bruger", "$kodeord"); mysql_select_db("$database"); mysql_query("UPDATE $table SET header = '$header', text = '$text' WHERE page = 'forsiden'"); mysql_close($conn); header ("location:" . $DOCUMENT_ROOT . "/admin/"); }
19. september 2003 - 10:12
#11
Ja, det du siger med include er godt. Men det du kan gør, er at lave en funktion, der kan bruges til en masse forskellige forms: function update(what) { if (what == "form1") { document.forms['dinform'].action = "side1.php" } elseif (what == "form2") { document.forms['dinform'].action = "side2.php" } } Så skriver du bare i din onclick: onclick="update(form1)", og du henvises til side1.php .. Er du med? :) }
19. september 2003 - 10:13
#12
? $DOCUMENT_ROOT, er jo den fulde sti, f.eks. c:/minside/public/ (går ud fra du mener $_SERVER["DOCUMENT_ROOT"] )
19. september 2003 - 10:13
#13
og forresten, så behøver du ikke DOCUMENT_ROOT, når du inkluderer filer...
19. september 2003 - 10:14
#14
sukos, men kan gøre begge dele med eller uden SERVER ...
19. september 2003 - 10:14
#15
Jammen så skal jeg jo stadig lave en masse forskellige actionfiler skal jeg ikke?
19. september 2003 - 10:16
#16
Grunden til at jeg bruger $DOCOMENT_ROOT er at jeg i i den fil som includeres i flere andre filer og har inkluderet filer i den, så den sti vil være meget forskellig hele tiden...
19. september 2003 - 10:31
#17
his den form der skal have sin action redefineret er den samme som den submitknappen er i kan du sige: function update( hvilkenForm ){ hvilkenForm.action = "derhendu.php"; ..... } <form method="post" action="<? $PHP_SELF ?>"> <input type="text" name="noget"><br> <input type="submit" onClic="update( this.form );return true;"> </form> Jet har tilføjet 'return true' til din onclick handeler, det gør scriptet brugbart i flere af forskellige browsere. mvh JakobA
19. september 2003 - 10:44
#18
Ok Jacoba svar lige så du kan få dine point... Det virker godt nok stadig ikke, men jeg fandt på en anden løsning :-)
Vi tilbyder markedets bedste kurser inden for webudvikling