Index: cgi/templating.py =================================================================== --- cgi/templating.py (Revision 14625) +++ cgi/templating.py (Arbeitskopie) @@ -1305,6 +1305,7 @@ value = '"'.join(value.split('"')) kwargs.setdefault("size", 30) + kwargs.setdefault("id", self._formname) kwargs.update({"name": self._formname, "value": value}) return self.input(**kwargs) @@ -1322,8 +1323,8 @@ value = cgi.escape(str(self._value)) value = '"'.join(value.split('"')) - return ''%( - self._formname, rows, cols, value) + return ''%( + self._formname, self._formname, rows, cols, value) def email(self, escape=1): ''' Render the value of the property as an obscured email address @@ -1358,7 +1359,7 @@ return '' return self._('*encrypted*') - def field(self, size = 30): + def field(self, size=30): ''' Render a form edit field for the property. If not editable, just display the value via plain(). @@ -1366,9 +1367,11 @@ if not self.is_edit_ok(): return self.plain() - return self.input(type="password", name=self._formname, size=size) + return self.input(type="password", name=self._formname, + id=self._formname, + size=size) - def confirm(self, size = 30): + def confirm(self, size=30): ''' Render a second form edit field for the property, used for confirmation that the user typed the password correctly. Generates a field with name "@confirm@name". @@ -1379,7 +1382,9 @@ return '' return self.input(type="password", - name="@confirm@%s"%self._formname, size=size) + name="@confirm@%s"%self._formname, + id='%s-confirm'%self._formname, + size=size) class NumberHTMLProperty(HTMLProperty): def plain(self): @@ -1393,7 +1398,7 @@ return str(self._value) - def field(self, size = 30): + def field(self, size=30): ''' Render a form edit field for the property. If not editable, just display the value via plain(). @@ -1407,7 +1412,8 @@ value = cgi.escape(str(self._value)) value = '"'.join(value.split('"')) - return self.input(name=self._formname,value=value,size=size) + return self.input(name=self._formname, id=self._formname, + value=value, size=size) def __int__(self): ''' Return an int of me @@ -1658,7 +1664,7 @@ return self._value.pretty() - def field(self, size = 30): + def field(self, size=30): ''' Render a form edit field for the property If not editable, just display the value via plain(). @@ -1739,7 +1745,8 @@ value = self._value value = cgi.escape(str(value)) value = '"'.join(value.split('"')) - return ''%(self._formname, + return ''%( + self._formname, self._formname, value, size) def menu(self, size=None, height=None, showid=0, additional=[], value=None, @@ -1770,7 +1777,7 @@ value = self._value linkcl = self._db.getclass(self._prop.classname) - l = [''%(self._formname,self._formname)] k = linkcl.labelprop(1) s = '' if value is None: @@ -1932,7 +1939,7 @@ k = linkcl.labelprop(1) value = lookupKeys(linkcl, k, value) value = cgi.escape(','.join(value)) - return self.input(name=self._formname,size=size,value=value) + return self.input(name=self._formname,id=self._formname,size=size,value=value) def menu(self, size=None, height=None, showid=0, additional=[], value=None, sort_on=None, **conditions): @@ -1977,7 +1984,8 @@ if self._db.security.hasPermission("View", self._client.userid, linkcl.classname, itemid=opt)] height = height or min(len(options), 7) - l = [''%( + self._formname, self._formname, height)] k = linkcl.labelprop(1) # make sure we list the current values if they're retired