Closed Bug 221371 Opened 22 years ago Closed 21 years ago

user interaction with a select-form field allows no selection

Categories

(Core :: XSLT, defect)

x86
Windows NT
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 236596

People

(Reporter: helmut.ackermann, Assigned: peterv)

Details

Attachments

(3 files)

User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.5) Gecko/20030925 Build Identifier: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.5) Gecko/20030925 I created a html page that includes a form with a selection field with different option. This page is used as source in frameset with two frames. See sources index.html and logon2.html below and there the select element 'userID': Good example: If I run it by using the logon.html file it works fine, I can select and reselect againt the userID and after that I can submit the form. Bad example: When I replace 'logon.html' in the frameset by an xml-file 'logon.xml' with a xsl styleprocessor statement for creating the exactly the same html at the browser side, the page is rendered correctly and the option list of userIDs pops up as expected. But if I choose a User, it does not replace the value 'anonymous' and a second selection is only possible after setting the focus to another control element and then going back to the userID selection. It worked fine with Mozilla 1.4 It worked also fine if the logon.xml file will be called in an extra window and not in a frame set. --- source index.html ----- <html> <head> <meta content="text/html;charset=UTF-8" http-equiv="content-type"> <meta content="author" name="Helmut Ackermann"> <title>Gauss AG - Msg Maintenance Application </title> </head> <frameset rows="0%, 100%" frameborder="1"> <frame name="actionDisplay" src="pages/NoResultPage.html"/> <frame name="editorDisplay" src="pages/logon.html"/> </frameset> </html> ------- source pages/logon.xml ---------------------- <html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta content="hackermann" name="generator"> <meta content="text/javascript" http-equiv="Content-Script-Type"> <title>Gauss AG - Msg Maintenance Application - Logon</title> <link href="../styles/msgDBStyles.css" type="text/css" rel="stylesheet"> <style> .headerBox { margin-top: 1.0em; margin-bottom: 1.0em; margin-left: 1.0em; margin-right: auto; width: 40em; } .footerBox { margin-top: 1.0em; margin-bottom: 1.0em; margin-left: 1.0em; margin-right: auto; width: 40em; } .logonBox { margin-top: 1.0em; margin-bottom: 1.0em; margin-left: 1.0em; margin-right: auto; width: 40em; } .logon { margin: 5em 2em 5em 2em; font-size: 0.9em; } .logonTable { padding: 2em 2em 2em 2em; background-color: rgb(240,240,240); font-size: 0.9em; width: 30em; } .failMsg { margin: 3em 2em 3em 2em; padding: 2em 2em 2em 2em; border: medium solid red; background-color: rgb(240,240,240); text-align: center; font-size: 1.0em; color: black; width: 30em; } .logoutMsg { margin: 3em 2em 3em 2em; padding: 2em 2em 2em 2em; border: medium solid green; background-color: rgb(240,240,240); text-align: center; font-size: 1.0em; color: black; } .header { border: none; color: rgb(0,0,100); } .footer { border-top: medium solid rgb(0,0,100); border-right: none; border-bottom: none; border-left: none; } </style> </head> <body> <div class="headerBox"> <div class="header"> <div style="border-bottom: medium solid rgb(0,0,100);"> <img border="0" width="274" height="45" src="../images/vip_power.gif"></div> <div style="font-weight: bold; font-size: 1.0em;"> <span style="float: right;">VIP Messages Maintenance Application</span> </div> </div> </div> <div class="logonBox"> <form method="post" id="msgDBLogon" class="logon" action="../servlet/Logon" accept-charset="UTF-8"> <table class="logonTable" border="0"> <tr> <td style="width: 30%;">Your name:</td><td><select size="1" name="userID" type="text"><option value="anomymous reader">anomymous</option><option value="hackermann developer">Helmut Ackermann</option><option value="mbecker editor">Martin Becker</option><option value="aboettcher developer">Arne B&ouml;ttcher</option><option value="jcardozo editor">Joana Cardozo</option><option value="fdankert developer">Frank Dankert</option><option value="sgerhardt developer">Steffen Gerhardt</option><option value="ahaeming developer">Andreas H&auml;ming</option><option value="mhansohm developer">Mark Hansohm</option><option value="cknoblich developer">Carsten Knoblich</option><option value="ckulms developer">Carsten Kulms</option><option value="rkunde developer">Ralf Kunde</option><option value="uparson editor">Ulrike Parson</option><option value="kpollermann developer">Kai Pollermann</option><option value="jschroeter editor">Julia Schroeter</option><option value="nstockfleth developer">Niels Stockfleth</option><option value="pstoermer developer">Peter St&ouml;rmer</option><option value="mstruessmann developer">Mirko Str&uuml;&szlig;mann</option><option value="avthun developer">Andreas von Thun</option><option value="swoyde admin">Sascha Woyde</option><option value="bzipkat developer">Barbara Zipkat</option></select></td> </tr> <tr> <td style="width: 30%;">Password:</td><td><input title="Your e-mail password" value="" size="30" name="password" type="password"></td> </tr> <tr> <td></td><td><input value="Logon" type="submit"></td> </tr> </table> </form> </div> <div class="footerBox"> <div class="footer"></div> </div> </body> </html> ---- source logon.xml ----- <?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet href="../xsltdata/LogonXSL.xsl" type="text/xsl"?> <!-- <?xml-stylesheet href="http://ham-aldaron/msg-maintenance/xsltdata/LogonXSL.xsl" type="text/xsl"?> <msg-maintenance href="http://ham-aldaron/msg-maintenance/"> --> <!-- Created by Helmut Ackermann on 27. Februar 2003, 10:06 --> <msg-maintenance href="../"> <logon/> </msg-maintenance> ---- source LogonXSL.xsl ------------ <?xml version="1.0" encoding="UTF-8" ?> <!-- Document : LogonXSL.xsl Created on : 14. January 2003 Author : hackermann Comment : stylesheet for creation of a html representation for the list of books of the R&D book library changed : 14. January 2003 Author : hackermann Comment : --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <!-- application URI --> <xsl:variable name="applicationURI" select="/msg-maintenance/@href"/> <!-- images URI --> <xsl:variable name="imageURI" select="concat($applicationURI,'images/')"/> <!-- style URI --> <xsl:variable name="styleURI" select="concat($applicationURI,'styles/')"/> <xsl:output method="html" encoding="UTF-8"/> <xsl:include href="HeaderFooterTemplates.xsl"/> <xsl:include href="StaticOptionsTemplates.xsl"/> <!-- template rule matching the root of the object list --> <xsl:template match="//logon"> <html> <head> <meta name="generator" content="hackermann" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>Gauss AG - Msg Maintenance Application - Logon</title> <!-- include css style rules --> <link rel="stylesheet" type="text/css" href="{$styleURI}msgDBStyles.css" /> <style> <xsl:call-template name="msgDBLogonCSSClasses"/> <xsl:call-template name="msgDBHeaderFooterCSSClasses"/> </style> </head> <body> <div class="headerBox"> <xsl:call-template name="msgAppHeader"/> </div> <div class="logonBox"> <xsl:call-template name="logonForm"/> <xsl:apply-templates select="error"/> <xsl:apply-templates select="logout"/> </div> <div class="footerBox"> <xsl:call-template name="msgAppFooter"/> </div> </body> </html> </xsl:template> <!-- rendering the login form --> <xsl:template name="logonForm"> <form accept-charset="UTF-8" action="{$applicationURI}servlet/Logon" class="logon" id="msgDBLogon" method="post"> <xsl:if test="@roleSelection='on'"> <div>Please register and define Your role!</div> </xsl:if> <table border="0" class="logonTable"> <tr> <td style="width: 30%;">Your name:</td> <td> <select type="text" name="userID" size="1"> <xsl:call-template name="logonUserList"/> </select> </td> </tr> <tr> <td style="width: 30%;">Password:</td> <td> <input type="password" name="password" size="30" value="" title="Your e-mail password"/> </td> </tr> <xsl:if test="@roleSelection='on'"> <tr> <td>Your role?</td> <td> <div><input type="radio" name="role" value="reader" checked="on"/>Reader</div> <div><input type="radio" name="role" value="editor"/>Editor</div> <div><input type="radio" name="role" value="developer"/>Developer</div> <div><input type="radio" name="role" value="admin"/>Administrator</div> </td> </tr> </xsl:if> <tr> <td></td> <td> <input type="submit" value="Logon"/> </td> </tr> </table> </form> </xsl:template> <!-- rendering the server message in case of login failure - - - - - - - --> <xsl:template match="error"> <div class="failMsg"> <xsl:value-of select="."/> </div> </xsl:template> <!-- rendering the logout greeting - - - - - - - - - - - - - - - - - - - - --> <xsl:template match="logout"> <div class="logoutMsg"> <div style="font-size: 2em;"> <xsl:value-of select="."/> </div> </div> </xsl:template> <!-- template to include CSS paramter for the logon form - - - - - - - - - --> <xsl:template name="msgDBLogonCSSClasses"> <xsl:text> .headerBox { margin-top: 1.0em; margin-bottom: 1.0em; margin-left: 1.0em; margin-right: auto; width: 40em; } .footerBox { margin-top: 1.0em; margin-bottom: 1.0em; margin-left: 1.0em; margin-right: auto; width: 40em; } .logonBox { margin-top: 1.0em; margin-bottom: 1.0em; margin-left: 1.0em; margin-right: auto; width: 40em; } .logon { margin: 5em 2em 5em 2em; font-size: 0.9em; } .logonTable { padding: 2em 2em 2em 2em; background-color: rgb(240,240,240); font-size: 0.9em; width: 30em; } .failMsg { margin: 3em 2em 3em 2em; padding: 2em 2em 2em 2em; border: medium solid red; background-color: rgb(240,240,240); text-align: center; font-size: 1.0em; color: black; width: 30em; } .logoutMsg { margin: 3em 2em 3em 2em; padding: 2em 2em 2em 2em; border: medium solid green; background-color: rgb(240,240,240); text-align: center; font-size: 1.0em; color: black; } </xsl:text> </xsl:template> </xsl:stylesheet> ---- source StaticOptionstemplates.xsl ---- <?xml version="1.0" encoding="UTF-8" ?> <!-- Document : msgDBStaticSelectionLists.xsl Created on : 20. February 2003 Author : hackermann Comment : This stylesheet will be included by other stylesheets for the generation of html-pages of the VIP message DataBase maintenance application changed : 20. February 2003 Author : hackermann Comment : --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <!-- template to include a selection for application users --> <xsl:template name="logonUserList"> <xsl:param name="sel-option" select="''"/> <option value="anomymous reader"><xsl:if test="$sel-option='anomymous'"><xsl:attribute name="selected"/></xsl:if>anomymous</option> <option value="hackermann developer"><xsl:if test="$sel-option='hackermann'"><xsl:attribute name="selected"/></xsl:if>Helmut Ackermann</option> </xsl:template> <!-- template to include a selection list of developers --> <xsl:template name="developerSelectionList"> <xsl:param name="sel-option" select="' '"/> <option value=" "><xsl:if test="$sel-option=' '"><xsl:attribute name="selected"/></xsl:if> </option> <option value="hackermann"><xsl:if test="$sel-option='hackermann'"><xsl:attribute name="selected"/></xsl:if>Helmut Ackermann</option> </xsl:template> <!-- template to include a selection list for tech-pub workflow --> <xsl:template name="techPubSelectionList"> <xsl:param name="sel-option" select="' '"/> <option value=" "><xsl:if test="$sel-option=' '"><xsl:attribute name="selected"/></xsl:if> </option> <option value="mbecker"><xsl:if test="$sel-option='mbecker'"><xsl:attribute name="selected"/></xsl:if>Martin Becker</option> <option value="TRANS"><xsl:if test="$sel-option='TRANS'"><xsl:attribute name="selected"/></xsl:if>TRANS</option> <option value="MODIFIED"><xsl:if test="$sel-option='MODIFIED'"><xsl:attribute name="selected"/></xsl:if>MODIFIED</option> </xsl:template> <!-- template to include a selection of used languages --> <xsl:template name="languageSelectionList"> <xsl:param name="sel-option" select="' '"/> <!-- <option><xsl:if test="$sel-option=''"><xsl:attribute name="selected"/></xsl:if> </option> --> <option><xsl:if test="$sel-option='de'"><xsl:attribute name="selected"/></xsl:if>de</option> <option><xsl:if test="$sel-option='en'"><xsl:attribute name="selected"/></xsl:if>en</option> <option><xsl:if test="$sel-option='es'"><xsl:attribute name="selected"/></xsl:if>es</option> <option><xsl:if test="$sel-option='fr'"><xsl:attribute name="selected"/></xsl:if>fr</option> <option><xsl:if test="$sel-option='it'"><xsl:attribute name="selected"/></xsl:if>it</option> </xsl:template> <!-- template to include a list of branches --> <xsl:template name="vipBranchSelectionList"> <xsl:param name="sel-option" select="'8.2'"/> <option value="8.2"><xsl:if test="$sel-option='8.2'"><xsl:attribute name="selected"/></xsl:if>8.2</option> <option value="8.1.1"><xsl:if test="$sel-option='8.1.1'"><xsl:attribute name="selected"/></xsl:if>8.1.1</option> <option value="8.1"><xsl:if test="$sel-option='8.1'"><xsl:attribute name="selected"/></xsl:if>8.1</option> <option value="8.0"><xsl:if test="$sel-option='8.0'"><xsl:attribute name="selected"/></xsl:if>8.0</option> </xsl:template> <!-- template to include a list of message bundles --> <xsl:template name="bundleSelectionList"> <xsl:param name="sel-option"/> <option value="ActionMessage"><xsl:if test="$sel-option='ActionMessage'"><xsl:attribute name="selected"/></xsl:if>ActionMessage</option> </xsl:template> </xsl:stylesheet> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: I cannot summit my application with the correct userID Expected Results: Should run like in Mozilla 1.4
Please attach the testcase to this bug as a zipfile. Over to xslt for triage, but this could well be a core layout bug...
Assignee: dveditz+bmo → peterv
Component: Form Manager → XSLT
QA Contact: tpreston → keith
http://www.mozilla.org/projects/xslt/bug-reporting.html has bug reporting tips. Act 1, reduce your testcase. No CSS, no imports/includes. Just a stylesheet, in a perfect world including itself (href="#" in the PI), or an additional xml. Is there actually any form control that does not crash in 1.4? Odd. Once there is a testcase, I'll take a look.
please unpack the zip file an load indexXML.html in your Browser, this will demonstrate the reported bug - a blocked user input. Without xslt transformation using indexHTML.html it works fine
The testcase worksforme with a current linux trunk build...
I can confirm this on a fresh windowsbuild, will reduce testcase in a bit
Status: UNCONFIRMED → NEW
Ever confirmed: true
I've been having similar problems with xsl-generated forms in official Linux Firebird builds 0.7 and 0.7+ (20031109), and more randomly in 0.6. versions. I can confirm the problem in the above testcase, but I see this also on all other form elements, such as textfields and textareas, and also with no frames involved. The cursor blinks, but user input is blocked. I can get around the problem by switching between virtual desktops in Linux. After switching to another desktop and back, all the fields work correctly. I've tested this in pwm and fvwm2 window managers. I created a simple testcase with a textfield and investigated this a bit further, and it seems that the problem doesn't occur, if the pages are in the browser's cache. I hadn't noticed this earlier, because our application generates the xml in a script, and so the page is never in cache. With the testcase, the blocking occurs only on the first time that you try to give input, and if you reload the page, the problem is gone. If you clear the cache and reload the page (without clicking on the textfield before reload), the input is blocked again. Note that I can also get the original testcase's select box working by switching to another virtual desktop and back, and it's also fixed by reloading. Note that you have to reload the frame where the elements are, not the whole page. Also, if I fix it by reloading the frame, and then reload the whole page, it breaks again. Just tried with Windows XP, on Firebird 0.6. both testcases and our application work correctly, on 0.7+ 20031109 the selectbox testcase's and our application's input fields block (for some reason the simple textfield testcase didn't block on windows.) Reloading the frame fixed the problem in Windows also. I will attach the simple testcase, even though I couldn't reproduce the problem with it in Windows.
Attached file Textfield testcase
*** This bug has been marked as a duplicate of 236596 ***
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: