diff --git a/mozilla/content/html/content/src/nsHTMLInputElement.cpp b/mozilla/content/html/content/src/nsHTMLInputElement.cpp index 7895cde9eb5..9c6cb775f4e 100644 --- a/mozilla/content/html/content/src/nsHTMLInputElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLInputElement.cpp @@ -427,19 +427,21 @@ nsHTMLInputElement::GetValue(nsAWritableString& aValue) } return NS_OK; - } else if (type == NS_FORM_INPUT_RADIO) { - // The value of a radio input is always "on". Why you ask? Well, I - // don't know but that's how it appears to work in older - // browsers. -- jst@netscape.com + } + + // Treat value == defaultValue for other input elements + nsresult rv = nsGenericHTMLLeafFormElement::GetAttribute(kNameSpaceID_HTML, + nsHTMLAtoms::value, + aValue); + + if (rv == NS_CONTENT_ATTR_NOT_THERE && type == NS_FORM_INPUT_RADIO) { + // The defauly value of a radio input is "on". aValue.Assign(NS_LITERAL_STRING("on")); return NS_OK; } - // Treat value == defaultValue for other input elements - return nsGenericHTMLLeafFormElement::GetAttribute(kNameSpaceID_HTML, - nsHTMLAtoms::value, - aValue); + return rv; } NS_IMETHODIMP diff --git a/mozilla/layout/html/content/src/nsHTMLInputElement.cpp b/mozilla/layout/html/content/src/nsHTMLInputElement.cpp index 7895cde9eb5..9c6cb775f4e 100644 --- a/mozilla/layout/html/content/src/nsHTMLInputElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLInputElement.cpp @@ -427,19 +427,21 @@ nsHTMLInputElement::GetValue(nsAWritableString& aValue) } return NS_OK; - } else if (type == NS_FORM_INPUT_RADIO) { - // The value of a radio input is always "on". Why you ask? Well, I - // don't know but that's how it appears to work in older - // browsers. -- jst@netscape.com + } + + // Treat value == defaultValue for other input elements + nsresult rv = nsGenericHTMLLeafFormElement::GetAttribute(kNameSpaceID_HTML, + nsHTMLAtoms::value, + aValue); + + if (rv == NS_CONTENT_ATTR_NOT_THERE && type == NS_FORM_INPUT_RADIO) { + // The defauly value of a radio input is "on". aValue.Assign(NS_LITERAL_STRING("on")); return NS_OK; } - // Treat value == defaultValue for other input elements - return nsGenericHTMLLeafFormElement::GetAttribute(kNameSpaceID_HTML, - nsHTMLAtoms::value, - aValue); + return rv; } NS_IMETHODIMP