Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[1.1.X] Fixed #11632: Fixed the id for hidden initial widget so that …

…it is different from the id for its visible counterpart. Thanks geber@datacollect.com and Mark Lavin.

r11826 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@11827 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 8bb3763c2bb6ae53e2ce36c5f2ed3c3e4545c90f 1 parent c1a8bd6
@kmtracey kmtracey authored
View
2  AUTHORS
@@ -171,6 +171,7 @@ answer newbie questions, and generally made Django that much better:
Alex Gaynor <alex.gaynor@gmail.com>
Andy Gayton <andy-django@thecablelounge.com>
Idan Gazit
+ geber@datacollect.com
Baishampayan Ghose
Dimitris Glezos <dimitris@glezos.com>
glin@seznam.cz
@@ -265,6 +266,7 @@ answer newbie questions, and generally made Django that much better:
Finn Gruwier Larsen <finn@gruwier.dk>
Lau Bech Lauritzen
Rune Rønde Laursen <runerl@skjoldhoej.dk>
+ Mark Lavin <markdlavin@gmail.com>
Eugene Lazutkin <http://lazutkin.com/blog/>
lcordier@point45.com
Jeong-Min Lee <falsetru@gmail.com>
View
6 django/forms/forms.py
@@ -343,6 +343,7 @@ def __init__(self, form, field, name):
self.name = name
self.html_name = form.add_prefix(name)
self.html_initial_name = form.add_initial_prefix(name)
+ self.html_initial_id = form.add_initial_prefix(self.auto_id)
if self.field.label is None:
self.label = pretty_name(name)
else:
@@ -374,7 +375,10 @@ def as_widget(self, widget=None, attrs=None, only_initial=False):
attrs = attrs or {}
auto_id = self.auto_id
if auto_id and 'id' not in attrs and 'id' not in widget.attrs:
- attrs['id'] = auto_id
+ if not only_initial:
+ attrs['id'] = auto_id
+ else:
+ attrs['id'] = self.html_initial_id
if not self.form.is_bound:
data = self.form.initial.get(self.name, self.field.initial)
if callable(data):
View
7 tests/regressiontests/forms/forms.py
@@ -1807,4 +1807,11 @@
>>> [f.name for f in form.visible_fields()]
['artist', 'name']
+# Hidden initial input gets its own unique id ################################
+
+>>> class MyForm(Form):
+... field1 = CharField(max_length=50, show_hidden_initial=True)
+>>> print MyForm()
+<tr><th><label for="id_field1">Field1:</label></th><td><input id="id_field1" type="text" name="field1" maxlength="50" /><input type="hidden" name="initial-field1" id="initial-id_field1" /></td></tr>
+
"""
Please sign in to comment.
Something went wrong with that request. Please try again.