on 10-29-2008 7:33 PM
Hello,
I am a newbie trying to fix an Adobe forms issue. I am using LiveCycle Designer 7.1 and scripting using FormCalc.
I have three address fields stras, street_4, city_zip displayed one below the other. Field street_4 is not mandatory.
If street_4 is blank, the address should be displayed as follows:
stras
city_zip
If street_4 contains a value, it should be displayed as:
stras
street_4
city_zip
I created a subform wraping all the three fields. Wrote a (FormCalc, Client) script in the initialize event of street_4. If street_4 is blank, an empty space is being displayed. Any help would be greatly appreciated.
if (HasValue($) == 0)
then $.presence = "hidden"
else $.presence = "visible"
endif
Thanks,
Sreeni
Hi Sreeni,
I think the problem is already solved but i have some input for all the guys who might come over this issue and are not able to solve it:
I will focus on JavaScript because I am more into that than into FormCalc scripting.
The solution to this problem is the following:
So this is not really dependent on using subforms. You can hide the whole subform using this technique or only elements inside the subform.
Here a short code snippet:
data.MAIN.HeaderData.ADDRESS_DATA.ADDRESS_DATA_ITEM.NAME2::validate - (JavaScript, client)
if ($record.ADDRESS_DATA.NAME2.value == null || $record.ADDRESS_DATA.NAME2.value == ''){
this.presence = "hidden";
}
2. Hiding only the TEXT INSIDE the element NOT the element itself ==> no shifting of other elements:
data.MAIN.HeaderData.ADDRESS_DATA.ADDRESS_DATA_ITEM.NAME3::validate - (JavaScript, client)
if ($record.ADDRESS_DATA.NAME3.value == null || $record.ADDRESS_DATA.NAME3.value == ''){
this.presence = "invisible";
}
Regards Patrick
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay,
Thanks for your input.
I still couldn't fix this issue. In the development environment, once the fields are in a subform, changing the "presence" property to "hidden" is moving the other fields up. I am not able to do it in run time using script (FormCalc or JavaScript). I was able to change the value from blank to a text or vice versa. But, when I change the "presence" property, the value is invisible/hidden but the other fields are not moving up.
Edited by: Sreeni ChannamRaju on Oct 30, 2008 9:34 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
this situation i handle with the condition , instead of script(formcalc/javascript). create the condition in the context, then simply drag node to the layout , will be taken care automatically. there will be a true and false forms by default if you drag and drop.if it is true then show else don't. this way the elements will move up.
Ana,
Did you ever solve this problem?
I have encountered the same problem with "hiding" a field in order to get the space occupied by the field to shift up the fields below.
I have tried both positioned and flowed, using wither a plain text field or the same field within a subform of the main form.
instead of the form calc, try to use java script. and also use the event layout:ready,not the initialize event.
i doubt your script code. i usually follow the code which automatically gives.
see the correct usage of javascript , i may be wrong in syntax. but it should be some thing like this..
if( this.rawValue == ''){
this.presence = "hidden";
}
else
{
this.presence = "visible";
}
Edited by: Vijay Babu Dudla on Oct 29, 2008 4:04 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
79 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.