Description

The ?action=info pages has invalid HTML. The HTML has two nested <form...>, resulting in wrong behavior in some browsers, like W3M and Lynx (See Debian's bug #546249).

Steps to reproduce

  1. Open any page
  2. Click on the Info link.

  3. Check the page's html code, after the string Revision History... there are two nested <forms..> here.

Example

Validate the page http://moinmo.in/4ct10n/info/MoinMoinWiki?action=info on http://validator.w3.org/check?uri=http://master19.moinmo.in...

Sample html:

<h2>Revision History</h2>
<form action="" method="GET">
<div id="page-history">
<input type="hidden" name="action" value="diff">
<form action="/MoinMoinWiki" method="GET" name="dbw.form">

Component selection

Details

MoinMoin Version

1.7.1 ~ 1.9.0beta3

OS and Version

Linux

Python Version

2.5.2

Server Setup

Server Details

Language you are using the wiki in (set in the browser/UserPreferences)

English

Workaround

none

Discussion

   1 diff -r 329241cd48b6 MoinMoin/action/info.py
   2 --- a/MoinMoin/action/info.py   Sat Nov 28 17:32:42 2009 +0100
   3 +++ b/MoinMoin/action/info.py   Sat Nov 28 17:46:04 2009 +0100
   4 @@ -184,8 +184,7 @@
   5  
   6          div = html.DIV(id="page-history")
   7          div.append(html.INPUT(type="hidden", name="action", value="diff"))
   8 -        div.append(history_table.render(method="GET"))
   9 -
  10 +        div.append(history_table.render())
  11          form = html.FORM(method="GET", action="")
  12          form.append(div)
  13          request.write(unicode(form))

/!\ It looks like this change would kill the "dbw.form" ID, but the js code in common.js operates on that.

Plan


CategoryMoinMoinBug

MoinMoin: MoinMoinBugs/InvalidHtmlInPageHistoryDueToNestedForms (last edited 2009-11-29 16:55:37 by ThomasWaldmann)