diff options
| -rw-r--r-- | django/contrib/admin/options.py | 4 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 91b81a42e0..3a0ad7475d 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -779,7 +779,9 @@ class ModelAdmin(BaseModelAdmin): return HttpResponseRedirect(post_url_continue % pk_value) if "_popup" in request.POST: - return HttpResponse('<script type="text/javascript">opener.dismissAddAnotherPopup(window, "%s", "%s");</script>' % \ + return HttpResponse( + '<!DOCTYPE html><html><head><title></title></head><body>' + '<script type="text/javascript">opener.dismissAddAnotherPopup(window, "%s", "%s");</script></body></html>' % \ # escape() calls force_unicode. (escape(pk_value), escapejs(obj))) elif "_addanother" in request.POST: diff --git a/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js b/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js index 1bc78f89b1..ce54fa5083 100644 --- a/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js +++ b/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js @@ -74,11 +74,12 @@ function dismissAddAnotherPopup(win, newId, newRepr) { var name = windowname_to_id(win.name); var elem = document.getElementById(name); if (elem) { - if (elem.nodeName == 'SELECT') { + var elemName = elem.nodeName.toUpperCase(); + if (elemName == 'SELECT') { var o = new Option(newRepr, newId); elem.options[elem.options.length] = o; o.selected = true; - } else if (elem.nodeName == 'INPUT') { + } else if (elemName == 'INPUT') { if (elem.className.indexOf('vManyToManyRawIdAdminField') != -1 && elem.value) { elem.value += ',' + newId; } else { |
