webForumDet fria alternativet

Formulär, PHP & JavaScript

13 svar · 442 visningar · startad av westman

westmanMedlem sedan aug. 2004249 inlägg
#1

Detta inlägg behandlar både javascript & php. Tror dock att det passar bäst här.

Jag har ett formulär där jag vill ha en text-länk med submit-funktion istället för en submit-knapp. Tycker detta borde funka:

Inom <head>

<script language="JavaScript" type="text/javascript">
<!--
function show ( selectedtype )
{
  document.visa.anv.value = selectedtype ;
  document.visa.submit() ;
}
-->
</script>

Inom <body>

$sql = "SELECT tid,user FROM boka WHERE year='{$_GET['year']}' AND month='{$_GET['month']}' AND day='{$_GET['day']}' AND forening='$theforening' AND rum='{$_GET['room']}' ORDER BY tid ASC";
$result = mysql_query($sql) or die("SQL: $sql <br>".mysql_error()); 

while ($rad = mysql_fetch_assoc($result)) {

// Här kommer formuläret där den första inputen står utanför:

   echo("<input name='' type='radio' disabled='true' value=''> ".$rad['tid']." <form action='show_user.php' method='post' name='visa'><input name='anv' type='hidden'>
   <a href='javascript:show(".$rad['user'].")'>".$rad['user']."</a></form><br>");
}

Men det vill sig inte. Webbläsaren säger att 'blabla' (user'n som blir skickad till funktionen) är odefinierad. Vad har jag gjort för fel, ngn som kan se det?

dectgapMedlem sedan sep. 20021 655 inlägg
#2

Testa att ändra utskriften av länken till:

<a href=\"java script:show('".$rad['user']."')\">
westmanMedlem sedan aug. 2004249 inlägg
#3

funkar inte heller, webbläsaren säger då att "document.visa.anv" är null eller inte ett objekt"
Alltså jag förstår inte varför det skall vara så himla svårt att göra en text-länk med submit-funktion. Måste man ha en knapp eller??
x(
Kanske det är ngn som vet ngt annat sätt att lösa det på?

westmanMedlem sedan aug. 2004249 inlägg
#4

asch! klantigt av mig, jag hade placerat formuläret inom ett annat formulär..och det gick tydligen inte...
En annan fråga, kan man ha en submit knapp utaqn för <form> taggen? Alltså kalla på ett visst formulär via en submit som ligger på samma sida men inte inom formulärets tagg.

dectgapMedlem sedan sep. 20021 655 inlägg
#5

En submit-knapp ska ligga i formuläret den tillhör.
Det går att lägga en knapp utanför formuläret och få den att fungera som en submit-knapp, men då förlitar man sig på JavaScript, vilket inte är alldeles bra.

westmanMedlem sedan aug. 2004249 inlägg
#6

nu fungerar inte text-länken inte längre, kanske inte gjorde det tidigare heller. Var väl önsketänkande...
Alltså jag blir så förbannad..! Går det ha en text-länk som submit i huvudtaget? Verkar vara väldigt opålitligt...

@ndersMedlem sedan juni 200032 969 inlägg
#7

Ja, det går alldeles utmärkt att ha en textlänk för att skicka formulär. Dock gör man sig beroende av javascript, men det brukar ju vara helt ok.

Hur ser det ut nu?

westmanMedlem sedan aug. 2004249 inlägg
#8
<script language="JavaScript" type="text/javascript">
<!--
function show ( selectedtype )
{
  document.visa.anv.value = selectedtype ;
  document.visa.submit() ;
}
-->
</script>
$sql = "SELECT tid,user FROM boka WHERE year='{$_GET['year']}' AND month='{$_GET['month']}' AND day='{$_GET['day']}' AND forening='$theforening' AND rum='{$_GET['room']}' AND avbokad='n' ORDER BY tid ASC";
$result = mysql_query($sql) or die("SQL: $sql <br>".mysql_error()); 
while ($rad = mysql_fetch_assoc($result)) {
   echo("<input name='' type='radio' disabled='true' value=''> ".$rad['tid']." <form action='show_user.php' method='post' name='visa'><input name='anv' type='hidden' value='".$rad['user']."'>
   <a href=\"javascript:show('".$rad['user']."')\">".$rad['user']."</a></form><br>");
}
@ndersMedlem sedan juni 200032 969 inlägg
#9

Hur ser det färdiga formuläret ut då?

westmanMedlem sedan aug. 2004249 inlägg
#10

Förenklat der det ut så här:
http://www.dwdesign.se/annat/test/dag.php

@ndersMedlem sedan juni 200032 969 inlägg
#11

Du har ju massor av formulär och massor av fält som har samma namn?

westmanMedlem sedan aug. 2004249 inlägg
#12

ja, det ligger i en loop. så det skapas ju fler formulär med samma namn.. det hade jag inte tänkt på... hmm, hur ska jag lösa detta då...

westmanMedlem sedan aug. 2004249 inlägg
#13

ah, jag kan ju lägga <form> taggarna utanför loopen, stupid me ;)

DufferMedlem sedan mars 2003429 inlägg
#14

dessutom kan du lägga på en siffra t.ex. så

box0
box1
box2
box3

med hjälp av t.ex. $siffra = $siffra + 1;

133 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)