E
ehm
I am working on creating an editable grid (for use in adding,
deleting, and editing rows back to an Oracle database). I have a JSP
that posts back to a servlet, which in turns posts to a WebLogic SFSB
and, from there, to the database.
On the front end, all cells appear as text fields. However, for
certain cells, when the user clicks on the cell, the text field turns
into a drop-down field (i.e. Select object), defaulting to the value
in the text field (unless the field is blank, in which case the
drop-down defaults to the first entry in the drop-down). Once the
user has selected a new entry, the drop-down then turns back into a
text field.
The problem that I am running into is that if the user simply clicks
on a blank field (which then turns into a drop-down), but does not
select anything (i.e. simply uses the default displayed entry), the
drop-down does not turn back into a text field. This causes problems
back in my servlet when I try to retrieve the value, since a text
field's value is actual text, whereas the select object's value is
something entirely different (in my case, I cannot make the displayed
text and value the same).
I have tried using "onBlur", "onClick", etc., but none of those seem
to work. Instead, I am using "onChange", which (obviously) only works
if the user has scrolled through the drop-down and selected a new
entry.
Any suggestions on how to make this work?
As an alternative solution, I have looked at changing all drop-down
fields to text fields once the user hits the "Save" button. I can
retrieve all drop-down fields by using the following:
document.getElementsByTagName("select");
I would like to then use the "innerHTML" logic to change the
drop-down to a text field. The "getElementsByTagName" retrieves the
appropriate cell, but using "innerHTML" on the retrieved object only
clears the drop-down entries, not the entire contents of the cell. Is
there some way that, given a field name, I can retrieve a cell's ID,
i.e. suppose I have the following:
<TD id="grid1Row1Col2"><INPUT CLASS="cell2D" type="text" size="40"
name="TypeTextField1" value="" onFocus="changeToDropDownGrid1(1, 2,
this, 'Type')></TD>
If I know the name "TypeTextField1", is there a way to navigate back
and get the ID of the cell ("grid1Row1Col2")?
Any help on either issue would be greatly appreciated. Thanks.
deleting, and editing rows back to an Oracle database). I have a JSP
that posts back to a servlet, which in turns posts to a WebLogic SFSB
and, from there, to the database.
On the front end, all cells appear as text fields. However, for
certain cells, when the user clicks on the cell, the text field turns
into a drop-down field (i.e. Select object), defaulting to the value
in the text field (unless the field is blank, in which case the
drop-down defaults to the first entry in the drop-down). Once the
user has selected a new entry, the drop-down then turns back into a
text field.
The problem that I am running into is that if the user simply clicks
on a blank field (which then turns into a drop-down), but does not
select anything (i.e. simply uses the default displayed entry), the
drop-down does not turn back into a text field. This causes problems
back in my servlet when I try to retrieve the value, since a text
field's value is actual text, whereas the select object's value is
something entirely different (in my case, I cannot make the displayed
text and value the same).
I have tried using "onBlur", "onClick", etc., but none of those seem
to work. Instead, I am using "onChange", which (obviously) only works
if the user has scrolled through the drop-down and selected a new
entry.
Any suggestions on how to make this work?
As an alternative solution, I have looked at changing all drop-down
fields to text fields once the user hits the "Save" button. I can
retrieve all drop-down fields by using the following:
document.getElementsByTagName("select");
I would like to then use the "innerHTML" logic to change the
drop-down to a text field. The "getElementsByTagName" retrieves the
appropriate cell, but using "innerHTML" on the retrieved object only
clears the drop-down entries, not the entire contents of the cell. Is
there some way that, given a field name, I can retrieve a cell's ID,
i.e. suppose I have the following:
<TD id="grid1Row1Col2"><INPUT CLASS="cell2D" type="text" size="40"
name="TypeTextField1" value="" onFocus="changeToDropDownGrid1(1, 2,
this, 'Type')></TD>
If I know the name "TypeTextField1", is there a way to navigate back
and get the ID of the cell ("grid1Row1Col2")?
Any help on either issue would be greatly appreciated. Thanks.