[HTML/CGI/Python] Meta-info over een <textarea> meePOSTen

Pagina: 1
Acties:

  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 10-05 16:54
Dag lieve GoTtertjes,

ik ben bezig met een CGI script dat het moet vergemakkelijken om een Global Search and Replace uit te voeren in een wiki. Je kunt een voorbeeld zien op http://home.student.uva.nl/johannes.gijsbers/gsar.html.

Ik heb dus een hele rij <textarea>'s. Nu moet ik van elke textarea niet alleen de tekst weten, maar ook tot welke pagina en paragraaf ze behoren, zodat ik de veranderde pagina weer in elkaar kan zetten. Ik heb dit nu in de name attribute op de volgende manier geserialized: 'Page-<pageName>-<paragraphIndex>' zodat je bijvoorbeeld het volgende krijgt:
HTML:
1
<textarea name="Page-JohannesGijsbers-23"></textarea>

Ik kan de informatie er nu wel weer uitkrijgen door alle form keys langs te gaan:
Python:
1
2
3
4
5
import re
for key in form.keys():
    m = re.match("Page-(.*)-(.*)"), key)
    if m:
        pageName, paragraphIndex = m.groups()

Ik vind dit echter persoonlijk een nogal lelijke oplossing. Is er een mooiere manier om meerdere waarden met een textarea te associeren?

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet


  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Gebruik van een hiddenfield is lijkt mij het makkelijkst. Gewoon in een hidden element de metadata van een textarea zetten.

  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 10-05 16:54
Hmmm, ik kan natuurlijk wel het volgende doen:

HTML:
1
2
<input type="hidden" name="page" value="JohannesGijsbers">
<input type="hidden" name="paragraph" value="23">


Maar dan weet ik nog niet bij welke textarea deze hidden fields horen. Hoe stel je je dit precies voor? Code is fijn!

[ Voor 17% gewijzigd door Johannes op 06-08-2004 12:22 ]

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet


  • Shadowman
  • Registratie: Januari 2002
  • Niet online
name="textarea1page"
name="textarea1paragraph"

Oftewel gewoon in de naam op een vaste manier de textareas aangeven.

  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 10-05 16:54
Okay, maar dat lijkt me niet veel mooier dan mijn eerste oplossing (en het is meer form-processing code). Iemand nog een ander idee?

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet