Hello,
I have a requirement where the text field should get auto-populated based on the previous action. Once the text field is auto populated I have 2 possibilities.
1. the user can click on submit without making any changes to the text field. In this case, since there is no user interaction, the value is not storing to the saveinto local variable.
2. the user can change the text field value as per their choice. In this case, the value is saving to the local variable, but it's not reflecting in the text field, since in value parameter there is another local variable.
a!textField( label: "File Name", labelPosition: "ABOVE", value: local!prepopulatedName, saveInto: local!docName, refreshAfter: "UNFOCUS", ),
Here, local!docName is the variable created for storing the value for this text field.
local!prepopulatedName is the field from where it's getting auto populated.
Can someone please guide me here?
Discussion posts and replies are publicly visible
Hello hema.mathivathanan
Why do you want to have a different local variable to store the value? If the user doesn't make any change it would not make any change and if the user makes any change it would simply save the new value. May be you can use exact() and have a local which has the older value/pre-loaded value which would not refresh to find if there is any change in the value and disable the submit button if that is what you are trying to do.
Hi Chaitanya,
My requirement is when the user upload a document, I need to get the document name from that and populate in the text field which is the "Document name". And that's why I have a separate local variable for the document name.
Hi hema.mathivathanan Can you try this?
a!textField( label: "File Name", labelPosition: "ABOVE", value: if(a!isNullOrEmpty(local!docName), local!prepopulatedName, local!docName), saveInto: local!docName, refreshAfter: "KEYPRESS" ),
Hi Shubham,
tried the above code. The problem with the above code is if the user doesn't change the prepoulated name, then it's not saving the pre populated value to the local variable since there is no user intervention to the text field.
Shubham Aware for the below issue, should we have something in the submit button?
hema.mathivathanan You have to add same code to button saveInto to reflect data into local!docNameUnderstand below code and try to implement for yours.It will solve your problem.
a!localVariables( local!docName, local!prepopulatedName: "Test", { a!textField( label: "File Name", labelPosition: "ABOVE", value: if( a!isNullOrEmpty(local!docName), local!prepopulatedName, local!docName ), saveInto: local!docName, refreshAfter: "KEYPRESS" ), a!buttonArrayLayout( buttons: { a!buttonWidget( label: "Button", style: "OUTLINE", saveInto: a!save( local!docName, if( a!isNullOrEmpty(local!docName), local!prepopulatedName, local!docName ) ) ) }, align: "START", marginBelow: "NONE" ) } )
Thanks Shubham, I'll try this
hema.mathivathanan Let me know if that works for you.
Try using following code:
a!localVariables( local!documentId, a!columnsLayout( columns: { a!columnLayout( contents: { a!fileUploadField( target: cons!APP_FOLDER_TEMPORARY_FOLDER, maxSelections: 1, value: local!documentId, saveInto: { local!documentId, a!save( ri!documentName, index( index( index( a!fileUploadField(value: local!documentId), "contents", null ), "value", null ), "fileName", null ) ) } ) } ), a!columnLayout( contents: { a!textField( label: "File Name", labelPosition: "ABOVE", value: ri!documentName, saveInto: ri!documentName ) } ) } ) )
Hi hema.mathivathanan
a!localVariables( local!docName, { a!fileUploadField( label: "Document", target: cons!NA_Upload_Documnet_CONS, maxSelections: 1, value: ri!document, saveInto: { a!save(ri!document, save!value), a!submitUploadedFiles() } ), a!textField( label: "Document Name", value: if( a!isNullOrEmpty(ri!document), null, document(documentId: ri!document, property: "name") ), saveInto: { a!save(local!docName, save!value) } ) })
You Can Try This Code .