Closed Bug 263503 Opened 20 years ago Closed 10 years ago

ebay.com - When you click the button it submits the form even though there is no submit action.

Categories

(Tech Evangelism Graveyard :: English US, defect)

x86
Windows 2000
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: william1.thomas, Unassigned)

References

()

Details

(Keywords: top100, top500)

User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; H010818; .NET CLR 1.1.4322; .NET CLR 1.0.3705)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; rv:1.7.3) 

http://cgi.ebay.com/ws/eBayISAPI.dll?
ViewItem&rd=1&item=6713307800&ssPageName=STRK:MESE:IT

If you go to the Ad Details, those buttons have mouseover actions attached to 
them and in Mozilla it submits the page even though there is no submit action

Reproducible: Always
Steps to Reproduce:
1.Go to the Ad
2.Click the button
3.there is no submit action on any buttons and it submits anyway

Actual Results:  
It submits the form

Expected Results:  
Should not submit the form, just make the DIV display

This problem is causing massive problems for all users that buy our products.  
We are having to tell them to not use mozilla and we would rather it work with 
mozilla.

Thank you
The buttons don't have a type specified, which makes them submit buttons. 
Adding type="button" to each of these will fix this.

The form's action isn't specified; this results in the form submitting to the
current page.  (An onsubmit handler that returns false will prevent submission
of the form.)

Mozilla is behaving correctly here.  (For the sake of a consistency check with
another browser, Opera behaves the same.)
Over to evangelism.  We're doing the right thing here and IE's handling of
<button> is well-known to be broken.
Assignee: general → english-us
Status: UNCONFIRMED → NEW
Component: Browser-General → English US
Ever confirmed: true
Product: Browser → Tech Evangelism
QA Contact: general → english-us
Version: Trunk → unspecified
IE works fine.  Are you going to tell me that the browser should decide what
action a tag has???? If anything IE is doing it right and your browser is
handling it wrong.  I have talked to several fellow developers regarding this
and all agree that the coder should decide on the button action not the browser.
 My only solution is to recommend everyone to view our pages under IE and not
use Mozilla due to it's control issues.
Conforming summary to TFM item 10 at 
http://www.mozilla.org/projects/tech-evangelism/site/procedures.html#file-new
Summary: When you click the button it submits the form even though there is no submit action. → ebay.com - When you click the button it submits the form even though there is no submit action.
Bill, did you _even bother_ to read the link I posted? 

<quote>
type = submit|button|reset [CI]
    This attribute declares the type of the button. Possible values:

        * submit: Creates a submit button. This is the default value.
        * reset: Creates a reset button.
        * button: Creates a push button.
</quote>

Without a type attribute the browser is supposed to use the default value which
is _submit_. We _are doing what the specification for HTML 4.01 says we should do_.
I have read the comments.  We are not using an input type we are using the
Button tag so that we can apply styles to the buttons.  There is a declared
action on the button and it is an onmouseover action.  But for some reason it
performs both the onmouseover and the submit action when there is no submit
action declared, only an onmouseover action.  To put this another way... the
only work around that satisfies everyone is for us to change the buttons to
img's and apply an onmouseover action against the img so that we can still have
the look and the action.  I just think we should be able to use the button tag
and apply an onmouseover action against it without having it submit when someone
clicks on it.  I understand what you are saying, but I agree with IE on this
that if no onclick action is declared, the button should just sit there.  Not
everyone wants their pages to submit.

Thank you
And the difficulty of coding your button as 

<button type="button" style="background-color: navy; width: 100px;"
name="OLAbutton4" id="OLAbutton4" value="VisitStore"
onclick="document.URL='http://stores.ebay.com/Off-Lease-Avenue_W0QQsspagenameZl2QQtZkm'"><font
color="white">Visit E-Store</font></button>

is?
Oh, and by the way, the mousevers work in recent Mozilla 1.7.4 builds but not in
1.7.3 is because of the use of document.all in the mouseover handler.

function loadwindow(i){
 -  140    if (i==1){
 -  141     document.all.Description.style.display=''
 -  142     document.all.Details.style.display='none'
 -  143     document.all.AdditionalInfo.style.display='none'
 -  144     document.all.warranty.style.display='none'
 -  145     document.all.taxinfo.style.display='none'
    146    }
 -  147    if (i==2){
 -  148     document.all.Details.style.display=''
 -  149     document.all.Description.style.display='none'
 -  150     document.all.AdditionalInfo.style.display='none'
 -  151     document.all.warranty.style.display='none'
 -  152     document.all.taxinfo.style.display='none'
    153    }
 -  154    if (i==3){
 -  155     document.all.AdditionalInfo.style.display=''
 -  156     document.all.Description.style.display='none'
 -  157     document.all.Details.style.display='none'
 -  158     document.all.warranty.style.display='none'
 -  159     document.all.taxinfo.style.display='none'
    160    }
 -  161    if (i==4){
 -  162     document.all.AdditionalInfo.style.display='none'
 -  163     document.all.Description.style.display='none'
 -  164     document.all.Details.style.display='none'
 -  165     document.all.warranty.style.display='none'
 -  166     document.all.taxinfo.style.display=''
    167    }
    168   } 

In Mozilla 1.7.4 and later and Firefox 0.10 PR and later, we implemented an
undetected document.all which will make this old style, non-standard use of
document.all work but it is not recommended.

The better approach is to use

document.getElementById('idvalue') instead of document.all.idvalue. 
Keywords: top500
Keywords: top100
Blocks: 386685
is this now fixed ?
<http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&rd=1&item=6713307800&ssPageName=STRK:MESE:IT> is no longer a valid URL. Closing as INVALID.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.