|
| Multiarray som formelement Fra : Michael Rasmussen |
Dato : 05-11-01 03:42 |
|
Hej NG,
Har et problem med ovenstående problematik.
ønskes:
php skal generere en form på en htmlside. I formen skal en række felter
gentages i rækker - de samme felter går igen i hver række. Det indtastede
i hvert felt skal gemmes i et array.
problem:
Da nogle felter har valgtfrit input, og andre er checkboxe, giver det et
problem, da ikke udfyldte felter ikke bliver medtaget i array'et.
eksempel:
tekstfelt[]: tekstfelt("navn1", "navn2").
checkbox[]: checkbox("on").
problemet er, at man ikke kan vide, om <on> i array'et checkbox knytter
sig til <navn1> eller <navn2> i tekstfelt, og det er af vital betydning,
at jeg ved det.
Hvordan kan dette løses?
--
Hilsen/Sincerely
Michael Rasmussen
-------------------------------------------------------------------
Fjern NOSPAM fra min adresse, for at sende mig en mail
| |
Thor Dreier (05-11-2001)
| Kommentar Fra : Thor Dreier |
Dato : 05-11-01 04:01 |
|
"Michael Rasmussen" <mir@datanom.net> wrote in message
news:pan.2001.11.05.03.42.08.277.1477@datanom.net...
> tekstfelt[]: tekstfelt("navn1", "navn2").
> checkbox[]: checkbox("on").
> problemet er, at man ikke kan vide, om <on> i array'et checkbox knytter
> sig til <navn1> eller <navn2> i tekstfelt, og det er af vital betydning,
> at jeg ved det.
I stedet for noget i retningen af:
<input name="checkbox[]">
kunne du sørge for at når du skrev dem ud, at de hver fik et fortløbende
nummer:
<input name="checkbox[1]">
På den måde vil det være muligt at holde styr på dem.
| |
Morten Bakkedal (05-11-2001)
| Kommentar Fra : Morten Bakkedal |
Dato : 05-11-01 13:22 |
|
Thor Dreier wrote:
> I stedet for noget i retningen af:
> <input name="checkbox[]">
> kunne du sørge for at når du skrev dem ud, at de hver fik et
> fortløbende nummer:
> <input name="checkbox[1]">
Desværre er ovenstående ikke gyldig HTML:
"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
colons (":"), and periods (".")."
http://www.w3.org/TR/html401/types.html#type-cdata
--
Morten Bakkedal
http://www.bakkeland.dk/
| |
Malte von Sehested (05-11-2001)
| Kommentar Fra : Malte von Sehested |
Dato : 05-11-01 13:23 |
|
I desto mindre virker det fint i både IE og NS...
/Malte
"Morten Bakkedal" <bakkeland@yahoo.dk> skrev i en meddelelse
news:3be68460$0$217$edfadb0f@dspool01.news.tele.dk...
> Thor Dreier wrote:
>
> > I stedet for noget i retningen af:
> > <input name="checkbox[]">
> > kunne du sørge for at når du skrev dem ud, at de hver fik et
> > fortløbende nummer:
> > <input name="checkbox[1]">
>
> Desværre er ovenstående ikke gyldig HTML:
>
> "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
followed
> by any number of letters, digits ([0-9]), hyphens ("-"), underscores
("_"),
> colons (":"), and periods (".")."
>
> http://www.w3.org/TR/html401/types.html#type-cdata
>
> --
> Morten Bakkedal
> http://www.bakkeland.dk/
>
>
| |
Morten Bakkedal (05-11-2001)
| Kommentar Fra : Morten Bakkedal |
Dato : 05-11-01 13:31 |
|
Malte von Sehested wrote:
> I desto mindre virker det fint i både IE og NS...
Ja, og PHP fortolker det også som man ville forvente; den lægger det ind i
et array. Ikke destro mindre står der eksplicit, at det ikke er gyldig HTML.
Der burde altså ikke være plads til nogen fortolkning.
--
Morten Bakkedal
http://www.bakkeland.dk/
| |
Malte von Sehested (05-11-2001)
| Kommentar Fra : Malte von Sehested |
Dato : 05-11-01 13:31 |
|
Det er samme array-syntax som JavaScript bruger (og MS knapt så
standardiserede udgave af samme i øvrigt også bruger). Så gad vist om ikke
det er der grunden til dette brud på standarden ligger begravet...
/Malte
"Morten Bakkedal" <bakkeland@yahoo.dk> skrev i en meddelelse
news:3be6867b$0$264$edfadb0f@dspool01.news.tele.dk...
> Malte von Sehested wrote:
>
> > I desto mindre virker det fint i både IE og NS...
>
> Ja, og PHP fortolker det også som man ville forvente; den lægger det ind i
> et array. Ikke destro mindre står der eksplicit, at det ikke er gyldig
HTML.
> Der burde altså ikke være plads til nogen fortolkning.
>
> --
> Morten Bakkedal
> http://www.bakkeland.dk/
>
>
| |
Mogens Meier Christe~ (29-11-2001)
| Kommentar Fra : Mogens Meier Christe~ |
Dato : 29-11-01 12:17 |
|
> Ja, og PHP fortolker det også som man ville forvente;
Øh, nej! Jeg har erfaringer for at tal-indices ikke kommer i den
rækkefølge som indices angives, men i den rækkefølge de forekommer!
Eks:
navn[1]=1
....
navn[0]=0
Her får jeg at navn[0]=1 og navn[1]=0, i hvert fald gjorde jeg med
PHP4.04, ved ikke om jeg stadig gør...
| |
Peter Brodersen (05-11-2001)
| Kommentar Fra : Peter Brodersen |
Dato : 05-11-01 18:37 |
|
On Mon, 5 Nov 2001 13:22:13 +0100, "Morten Bakkedal"
<bakkeland@yahoo.dk> wrote:
>Desværre er ovenstående ikke gyldig HTML:
>
>"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
>by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
>colons (":"), and periods (".")."
>
> http://www.w3.org/TR/html401/types.html#type-cdata
Du har misforstået noget. NAME er en SGML-definitionen, som ikke har
noget med "navne-sammenfaldet" med attributten "name" at gøre. "name"
er af typen CDATA og ikke af typen NAME.
Check: <news:x5rc7.762$uI6.66466@news000.worldonline.dk>
Med andre ord er det ikke ugyldig HTML.
--
- Peter Brodersen
| |
Morten Bakkedal (05-11-2001)
| Kommentar Fra : Morten Bakkedal |
Dato : 05-11-01 19:56 |
|
Peter Brodersen wrote:
> Du har misforstået noget. NAME er en SGML-definitionen, som ikke har
> noget med "navne-sammenfaldet" med attributten "name" at gøre. "name"
> er af typen CDATA og ikke af typen NAME.
>
> Check: <news:x5rc7.762$uI6.66466@news000.worldonline.dk>
>
> Med andre ord er det ikke ugyldig HTML.
Du har ret. Jeg var for hurtigt ude.
--
Morten Bakkedal
http://www.bakkeland.dk/
| |
Michael Rasmussen (05-11-2001)
| Kommentar Fra : Michael Rasmussen |
Dato : 05-11-01 21:46 |
|
On Mon, 05 Nov 2001 03:42:08 +0100, Michael Rasmussen wrote:
> Hej NG,
>
> Har et problem med ovenstående problematik. ønskes: php skal generere en
> form på en htmlside. I formen skal en række felter gentages i rækker -
> de samme felter går igen i hver række. Det indtastede i hvert felt skal
> gemmes i et array. problem:
> Da nogle felter har valgtfrit input, og andre er checkboxe, giver det et
> problem, da ikke udfyldte felter ikke bliver medtaget i array'et.
> eksempel:
> tekstfelt[]: tekstfelt("navn1", "navn2"). checkbox[]: checkbox("on").
> problemet er, at man ikke kan vide, om <on> i array'et checkbox knytter
> sig til <navn1> eller <navn2> i tekstfelt, og det er af vital betydning,
> at jeg ved det.
>
> Hvordan kan dette løses?
Tak til alle for bidrag. Løsningen var lidt i stil med Thors forslag.
<?
$rows = $antal_elementer_i_formfelt;
echo "<form action=parse.php>";
for ($i=0;$i<$rows;$i++){
echo "<input type=text name=felt[$i]>";
echo "<input type=checkbox name=check1[$i]>";
echo "<input type=checkbox name=check2[$i]>";
echo "<input type=submit value=send>";
}
echo "</form>";
?>
variablene hentes så ud i parse på følgende måde:
<?
for ($i=0;$i<$rows;$i++){
$current_felt = $felt[$i];
$current_check1 = $check1[$i];
$current_check2 = $check2[$i];
}
--
Hilsen/Sincerely
Michael Rasmussen
-------------------------------------------------------------------
Fjern NOSPAM fra min adresse, for at sende mig en mail
| |
|
|