When passing "this" as a parameter on the on blur or on change call, it'll pass the object where the event occurred.
In my case, upon selecting an item from a lookup object in a subform, say a book, I need to compose a string for a description field to contain multiple fields from that record, for example "<book title>, <author>, (<isbn>)".
Shouldn't be too difficult to call a function from the Javascript item of the lookup and do that. But when I pass "this" to this function, I receive an undefined object.
How do I obtain the row number of a lookup object in a the lookup JavaScript action.
(I generally find the nuBuilder documentation rather terse...)
Welcome to the nuBuilder Forums!
Register and log in to access exclusive forums and content available only to registered users.
Register and log in to access exclusive forums and content available only to registered users.
Subform lookup and Javascript - how pass row information
-
- Posts: 37
- Joined: Sun Apr 21, 2013 10:58 pm
-
- Posts: 37
- Joined: Sun Apr 21, 2013 10:58 pm
Re: Subform lookup and Javascript - how pass row information
Found a solution:
Add a field to the subform that is not associated with any database field, call it xxx_clicked, for example.
Use the 'Update other fields' subform of the lookup object to assign any database field, the primary key is a good choice, to the xxx_clicked field.
Then call subform_lookup_clicked() in the Javascript entry of the lookup object.
Then the following custom code will do the trick:
Add a field to the subform that is not associated with any database field, call it xxx_clicked, for example.
Use the 'Update other fields' subform of the lookup object to assign any database field, the primary key is a good choice, to the xxx_clicked field.
Then call subform_lookup_clicked() in the Javascript entry of the lookup object.
Then the following custom code will do the trick:
Code: Select all
function subform_lookup_clicked()
{
formName = 'my_subform';
rowCount = Number(document.getElementById('rows' + formName).value);
for (rowIndex = 0;rowIndex < rowCount; ++rowIndex)
{
indexStr = '0000'+rowIndex;
indexStrLen = indexStr.length;
rowPrefix = formName + indexStr.substring(indexStrLen-4);
if (document.getElementById( "row"+rowPrefix).checked != true)
{
// the lookup will assign the primary key of the selected item to the xxx_clicked field
// this is the way we detect which row was clicked.
was_clicked = document.getElementById( rowPrefix + 'xxx_clicked').value != '';
if (was_clicked)
{
// then do something with this row
....
// reset the xxx_clicked field
document.getElementById( rowPrefix + 'xxx_clicked').value = '';
}
}
}
}
Re: Subform lookup and Javascript - how pass row information
agnar,
We will be doing our best to improve documentation in nuBuilder version 3.
But this might be what you were looking for..
nuGetRow();
http://wiki.nubuilder.com/tiki-index.ph ... #nuGetRow_
Steven
We will be doing our best to improve documentation in nuBuilder version 3.
But this might be what you were looking for..
nuGetRow();
http://wiki.nubuilder.com/tiki-index.ph ... #nuGetRow_
Steven