By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,939 Members | 1,621 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,939 IT Pros & Developers. It's quick & easy.

HELP. this.form does not seem to pass value...

P: n/a
Please help, this is doing my head in!!!! I am sure it is something
really simple and ovbious that I am missing but for the life of me I
cant find where!!!

I have this function...

<script>
<!--
function update(frm) {
var mon, mon1, form;

form=frm;
mon=frm.mon.value;

alert(mon);
}
-->
</script>
and this calls it...

<form method="post" name="sas002">
<tr>
<td><input name="mon" value="1" size="5"></td<td><input name="tue"
value="1" size="5"></td>
<td><img src="../images/edit.gif" onClick="update(this.form)"></td>
</tr>
</form>

how whenever I run this i get an undefined for the form name...

its as if the this.form is not passing the form name through like it
should be - any suggestions?

need to do it like this as the form is created dynamically....

Jul 19 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Shippy wrote:
Please help, this is doing my head in!!!! I am sure it is something
really simple and ovbious that I am missing but for the life of me I
cant find where!!!

I have this function...

<script>
<!--
function update(frm) {
var mon, mon1, form;

form=frm;
mon=frm.mon.value;

alert(mon);
}
-->
</script>
and this calls it...

<form method="post" name="sas002">
<tr>
<td><input name="mon" value="1" size="5"></td<td><input name="tue"
value="1" size="5"></td>
<td><img src="../images/edit.gif" onClick="update(this.form)"></td>
</tr>
</form>

how whenever I run this i get an undefined for the form name...

its as if the this.form is not passing the form name through like it
should be - any suggestions?
Excactly, and why do you say it should be passing the formname if you use
this.form in an image?

The keyword 'this' should only be used if you knwo WHAT it is refering to.
eg: If you use it in an input type="text" it will reference that
inputelement.
If you use it in an image....

Solution: simple give your form a name, and pass that to the function.
From your function you can use:
function update(formname) {
var formref=document.forms[formname];
var mon=formref.mon.value;
alert(mon);
}
>
need to do it like this as the form is created dynamically....

That is no reason to leave the names of the forms out. :-)

Good luck!

Regards,
Erwin Moller

Jul 19 '06 #2

P: n/a
Erwin Moller wrote:
Shippy wrote:
>Please help, this is doing my head in!!!! I am sure it is something
really simple and ovbious that I am missing but for the life of me I
cant find where!!!

I have this function...

<script>
<!--
function update(frm) {
var mon, mon1, form;

form=frm;
mon=frm.mon.value;

alert(mon);
}
-->
</script>
and this calls it...

<form method="post" name="sas002">
<tr>
<td><input name="mon" value="1" size="5"></td<td><input name="tue"
value="1" size="5"></td>
<td><img src="../images/edit.gif" onClick="update(this.form)"></td>
</tr>
</form>

how whenever I run this i get an undefined for the form name...

its as if the this.form is not passing the form name through like it
should be - any suggestions?

Excactly, and why do you say it should be passing the formname if you use
this.form in an image?

The keyword 'this' should only be used if you knwo WHAT it is refering to.
eg: If you use it in an input type="text" it will reference that
inputelement.
If you use it in an image....

Solution: simple give your form a name, and pass that to the function.
From your function you can use:
function update(formname) {
var formref=document.forms[formname];
var mon=formref.mon.value;
alert(mon);
}
>>
need to do it like this as the form is created dynamically....


That is no reason to leave the names of the forms out. :-)
Oops, my bad.
You DID name the form already, so if you want to use it in your
image-onClick-handler you can do this:
<td><img src="../images/edit.gif" onClick="update('sas002');"></td>
Jul 19 '06 #3

P: n/a
Your an absolute STAR - many thanks!

completely forgot about "this." being related to that item...
Erwin Moller wrote:
Shippy wrote:
Please help, this is doing my head in!!!! I am sure it is something
really simple and ovbious that I am missing but for the life of me I
cant find where!!!

I have this function...

<script>
<!--
function update(frm) {
var mon, mon1, form;

form=frm;
mon=frm.mon.value;

alert(mon);
}
-->
</script>
and this calls it...

<form method="post" name="sas002">
<tr>
<td><input name="mon" value="1" size="5"></td<td><input name="tue"
value="1" size="5"></td>
<td><img src="../images/edit.gif" onClick="update(this.form)"></td>
</tr>
</form>

how whenever I run this i get an undefined for the form name...

its as if the this.form is not passing the form name through like it
should be - any suggestions?

Excactly, and why do you say it should be passing the formname if you use
this.form in an image?

The keyword 'this' should only be used if you knwo WHAT it is refering to.
eg: If you use it in an input type="text" it will reference that
inputelement.
If you use it in an image....

Solution: simple give your form a name, and pass that to the function.
From your function you can use:
function update(formname) {
var formref=document.forms[formname];
var mon=formref.mon.value;
alert(mon);
}

need to do it like this as the form is created dynamically....


That is no reason to leave the names of the forms out. :-)

Good luck!

Regards,
Erwin Moller
Jul 19 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.