"Bosconian" <no****@nowhere.comwrote in message
news:lc******************************@comcast.com. ..
I've been fighting with this for an hour.
My form contains a hidden input with the value initially set to "".
When a user clicks on the link, a function is called that updates the
hidden form value and submits the form.
Unfortunately this generates an error which states the form object is
undefined.
The function looks like
<script type='text/javascript'>
function submitLink(theForm, theName, theValue) {
document.theForm.theName.value = theValue;
document.theForm.submit();
}
</script>
The form looks like
<form action="product/details" method="post" name="catxml" />
<input type="hidden" name="familyid" value="" />
<a href="javascript: submitLink(document.catxml, familyid,
'456');">Product 1</a>
</form>
The error reports that 'familyid is undefined'.
Can someone clue me in? Thanks.
For those of you playing along at home, here's how the code ended up:
<script type='text/javascript'>
function submitLink(theForm, theName, theValue) {
theForm.elements[theName].value = theValue;
theForm.submit();
}
</script>
<form action="product/details" method="post" name="catxml">
<input type="hidden" name="familyid" value="" />
<a href="javascript
: submitLink(document.catxml, 'familyid',
'455');">Product 1</a>
</form>
I made two corrections:
1) The first parameter in the function call already included the document
object and the duplicate was removed from within the function.
2) The second parameter is a variable string reference of the form element
and needed to be handled as such.
As it turns out, familyid was indeed defined and clearly evident in the
form--it just wasn't being referenced properly.
Lessons learned:
1) Coding while sleep-deprived only leads to sloppy mistakes and oversights.
2) Ignore arrogant assholes who have nothing to contribute to the community
except unconstructive criticism and negativity.
While on the subject, Pavel evidently thought the code was XML because the
opening form tag had a trailing slash (which, while incorrect, is
subsequently ignored by the brower) and the form is named "CatXML".
Poor pathetic Pavel. :-(