submit within onchange not working correctly in Firefox

P

Pascal Batzli Jr

Hello,
I have a strange situation happening on the code below. When I first
load the page, as I change any of the three combo boxes I have created,
the onchange event is fired and the form should be submitted, but it
isn't for some weird reason. However, after I press the ok button, it
submits the form, and then the combo boxes start working normally. In
IE, everything works fine.
I appreciate any help. Thank you.

<html>
<head>
<title>.:Guimar&atilde;es Comercial:.</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<script language="javascript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>

</head>

<body bgcolor="#FFFFFF" text="#000000"
background="figuras/laretal.jpg">
<br>
<form name="frmlateral" method="post" action="lateral.asp">
<p> <br>
&nbsp;&nbsp;
<select name="cbonivel1" size="1"
onChange="javascript:atualizar();">
<option value=1 selected>Instrumentos</option>
<option value=2>Móveis p/ Igreja</option>
<option value=3>Diversos</option>
</select>
<br>
&nbsp;&nbsp;
<select name="cbonivel2" size="1"
onChange="javascript:atualizar();">
<option value=1 selected>Inst. De Corda</option>
<option value=2>Inst. De Percusão</option>
<option value=3>Inst. De Sopro</option>
<option value=4>Inst. De Teclado</option>
<option value=5>Listão Weril</option>
</select>
<br>
&nbsp;&nbsp;
<select name="cbonivel3" size="1"
onChange="javascript:atualizar();">
<option value=1 selected>Violino</option>
<option value=2>Viola</option>
<option value=3>Violoncello</option>
<option value=4>Contra Baixo (Rabecão)</option>
<option value=5>Violões Yamaha</option>
<option value=6>Violões Eagle</option>
<option value=7>Violões Di Giorgio</option>
<option value=8>Violões Importados</option>
</select>
<input type="submit" name="Submit" value="ok"
onClick="javascript:busca1();">
</p>

<p>&nbsp;</p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="textfield" size="8">
<input type="submit" name="Submit2" value="ok">
</form>
<p><br>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash..cab#version=5,0,0,0"
width="150" height="160">
<param name=movie value="figuras/banner.swf">
<param name=quality value=high>

<embed src="figuras/banner.swf" quality=high
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
type="application/x-shockwave-flash" width="150" height="160">
</embed>
</object> <br>
<a href="#"
onClick="MM_openBrWindow('atendimento.htm','','width=310,height=240')"><img
src="figuras/atendimento.jpg" width="146" height="43" border="0"></a>
</p>
</body>
<script language="javascript">
function atualizar()
{
frmlateral.submit();
}

function busca1()
{
alert("teste3");
}
</script>
</html>
 
L

Lee

Pascal Batzli Jr said:
Hello,
I have a strange situation happening on the code below. When I first
load the page, as I change any of the three combo boxes I have created,
the onchange event is fired and the form should be submitted, but it
isn't for some weird reason.
frmlateral.submit();

No, it's not weird at all. You're using an IE shortcut that Firefox and other
browsers don't support. The correct way to refer to your form is:

document.frmlateral.submit();
 
R

RobG

Lee said:
Pascal Batzli Jr said:



No, it's not weird at all. You're using an IE shortcut that Firefox and other
browsers don't support. The correct way to refer to your form is:

document.frmlateral.submit();

That'll do the job, more formally:

document.forms['frmlateral'].submit();


is perhaps considered the 'correct' way. Another is:

document.forms.frmlateral.submit();
 
R

Randy Webb

RobG said the following on 10/17/2005 1:08 AM:
Lee said:
Pascal Batzli Jr said:




No, it's not weird at all. You're using an IE shortcut that Firefox
and other
browsers don't support. The correct way to refer to your form is:

document.frmlateral.submit();

That'll do the job, more formally:

document.forms['frmlateral'].submit();


is perhaps considered the 'correct' way.

I have to ask a question I have asked in the past:

Is there a known browser where document.forms['frmlateral']submit()
submits the form but document.frmlateral.submit() doesn't?

The first assumes the named form is a property of the document object,
the second one doesn't. So I guess the real question is if there is a
known browser that doesn't make named forms a property of the document
object.
 
R

RobG

Randy said:
RobG said the following on 10/17/2005 1:08 AM:
Lee said:
Pascal Batzli Jr said:

Hello,
I have a strange situation happening on the code below. When I first
load the page, as I change any of the three combo boxes I have created,
the onchange event is fired and the form should be submitted, but it
isn't for some weird reason.




frmlateral.submit();




No, it's not weird at all. You're using an IE shortcut that Firefox
and other
browsers don't support. The correct way to refer to your form is:

document.frmlateral.submit();

That'll do the job, more formally:

document.forms['frmlateral'].submit();


is perhaps considered the 'correct' way.


I have to ask a question I have asked in the past:

Is there a known browser where document.forms['frmlateral']submit()
submits the form but document.frmlateral.submit() doesn't?

I don't know.

I just figured it was worth mentioning the various ways, since often
(well, occasionally) a question is asked about how to access a form or
form control where a string has been used for the name that can't be
successfully used with dot notation, hence square brackets are
required - e.g. name="form[6]".

Perhaps I should have included that tidbit, or at least a reference to
the appropriate FAQ section:

The first assumes the named form is a property of the document object,
the second one doesn't. So I guess the real question is if there is a
known browser that doesn't make named forms a property of the document
object.

The answer is if the name can't be used with dot notation then square
brackets are required.
 
P

Pascal Batzli Jr

Lee,
I worked perfectly. That's why I hate Microsoft products.... they are
made for lazy programmers!
Thank you very much!
Pascal
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top