Jason Novotny said:
Hi,
I'm trying to create a listbox using <select> HTML tags that can do
a form submit when an option in the list is selected. So far this works,
function MySelectSubmit() {
document.myform.submit();
}
with HTML:
<form name="myform" method="post" action="myselect">
<select name='myselect' size='1' onChange='MySelectSubmit()'>
<option value='hi' selected='selected' >Hello</option>
<option value='bye'>Goodbye</option>
</select>
</form>
Now my question is how can I make the javascript method general enough
so I can pass in any form so that it does not have to refere to "myform"
in the body. I tried the following but it doesn't work:
function MySelectSeubmit( aform ) {
document.aform.submit();
}
Only the first component of a dot-notation identifier may be a
variable. If aform is a variable containing the name of the
form, you can use:
document.forms[aform].submit();
but it would be even simpler to pass a reference to the form,
instead of its name. You would pass it with:
onChange='MySelectSubmit(this.form)'
Note that "this.form" is exactly what you would use. Don't
replace any part of it with your own names. It's a built-in
reference to the form that contains the form element that the
event handler belongs to.
Then your function would look like:
function MySelectSubmit( aform ) {
aform.submit();
}
Since "aform" is now a reference directly to the form, you
don't need to qualify it with the document reference.