Xfa.host.messageBox

I am trying to get a message to appear if someone tries to enter enter data in a drop down list before entering in formation in a previous list.  I have two drop down lists: ServiceType[0] and Action[0]. I have this code set up in the change event:
topmostSubform.Page2.Action[0]::change - (JavaScript, client)
 if  (topmostSubform.Page2.ServiceType[0].rawValue == null){
xfa.host.messageBox("You must select a Service Type Value"
, "Error", 3, 1);}
When I select something from the Action[0] list, nothing happens when I have not selected anything in the ServiceType[0] list. What am I missing please?

Hm,
generally your scripts look fine.
But, JavaScript does not support the instance accessor [0] you used, only FormCalc does.
To use them in JavaScript you need the xfa.resolveNode method like xfa.resolveNode(" topmostSubform.Page2.ServiceType[0]").
Also, to resolve the first instance of an object, which has always the accessor [0], you don't need to describe the accessor.
So topmostSubform.Page2.ServiceType is the same as topmostSubform.Page2.ServiceType[0]
Just a hint for your script in JavaScript.
if (xfa.resolveNode("topmostSubform.Page2.ServiceType").rawValue == "" || xfa.resolveNode("topmostSubform.Page2.ServiceType").rawValue == null) then
     xfa.host.messageBox("You must select a Service Type Value", "Error", 3, 0)
     xfa.host.setFocus("topmostSubform.Page2.ServiceType")
     xfa.event.change = ""
or in FormCalc.
if (topmostSubform.Page2.ServiceType.rawValue == "" or topmostSubform.Page2.ServiceType.rawValue == null) then
     xfa.host.messageBox("You must select a Service Type Value", "Error", 3, 0)
     xfa.host.setFocus("topmostSubform.Page2.ServiceType")
     xfa.event.change = ""
endif

Similar Messages

  • How to change appearance of xfa.host.messagebox

        Is there anyway to apply a different look to the xfa.host.messagebox ?  It is pretty, um what is the word ..... -- ugly. That is the word
    Any help would be very appreciated.
    Thanks

    Hi,
    The url that Steve gave above takes you to the Help file for LC Designer.
    You put the messageBox line within your script when you want to alert the user to something or to give them a choice. for example you could put the script within a calculate event to let the user know the value of a hidden variable:
    xfa.host.messageBox("This is a message", "This is a title", 3, 1);
    The help file sets out the four different options for the last two parameters (which can be used in any combination).
    xfa.host.messageBox("This messageBox uses:\n\nParameter 3 = 1 (Warning) and Parameter 4 = 1 (OK, Cancel)", "Hello World!", 1, 1);
    The "\n" will insert a return (new line).
    Scripting for additional features within a dialogue window can be achieved using the Javascript Dialog Object; however this is getting quite advanced. The AcroDialog product from Windjack Solutions does make this process easier.
    The messageBox returns a number depending on which button the user clicks:
    Returns 1 if the user clicks OK;
    Returns 2 if the user clicks Cancel;
    Returns 3 if the user clicks No;
    Returns 4 if the user clicks Yes;
    On this basis you can script actions depending on which button the user clicks in your messageBox, by asigning the returning value to a variable and then looking at the value of the variable. For example in the click event of a button on the form:
    var nButton = xfa.host.messageBox("You are about to delete this row.\n\nDo you want to continue?", "DELETE ROW", 3, 2);
    if (nButton == 4) // Hitting the Yes button returns 4
         _dyndetail.removeInstance(this.parent.index); // proceed with delete
    The above deals with LiveCycle Designer. If you are scripting exclusively in Acrobat then you could use the app.alert(); method, to display your message.
    Hope this helps,
    Niall

  • Xfa.host.messageBox or app.alert not working some machines

    Hi,
    We've a PDF form with alert messages on a button click. We've written a function in a script object which is called on button click. This PDF is working fine on most of the machines but does not work few machines. On all machines, we have same adobe reader version (9.4.0). The machines with this problem have similar configuration as others (windows XP, no other adobe software installed etc.). When we look at the javascript console, it gives messages like the function is not available. What could be the issue here. I think if we reinstall/repair the adobe reader, probably it will resolve the issue. But before doing that we want to understand what exactly the problem could be. Has anybody seen this error before?
    Thanks
    Ram

    That's odd...
    Does that same happen with a blank template containing nothing but a button with a click event:
    app.alert("click");

  • Xfa.host.SetFocus question.

    I have a code on Exit event of the field that checks if 5 digit US ZIP code, 5 digit US ZIP code + 4, and 6 digit alphanumeric Canadian Postal Code.
    If user enters valid 5 digits code, then I set focus to specific field-FField1. Code is simple and it works. What does not work is, if I tab out , without entering anyting in the Zip code, the focus is set to some other field, not FField1. How can I force it with the code that focus is set to FField1 all the time.
    Code is simple:
    var regExpDate = /^\^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$ $/;
    var vMatched = this.rawValue.match(regExpDate);
    if (!vMatched){
    this.rawValue=null;
    xfa.host.messageBox("Enter the following format: 99999 or 99999-9999 or A9A 9A9 );
    xfa.host.setFocus(this);
    else
    xfa.host.setFocus(form1.subform1.FField1);

    Hi again 1996,
    You can use setFocus multiple times in the exit event, and the last one that is called is where you end up. I would suggest putting the 'default' tab before all of your logic, to ensure that it's the one that gets called when the field is valid:
    i.e.:
    xfa.host.setFocus(form1.subform1.FField1);
    var regExpDate = /^\^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$ $/;
    var vMatched = this.rawValue.match(regExpDate);
    if (!vMatched){
    this.rawValue=null;
    xfa.host.messageBox("Enter the following format: 99999 or 99999-9999 or A9A 9A9 );
    xfa.host.setFocus(this);
    This way, unless vMatched is true and the second setFocus is called to override the first, your user should always be sent to FField1.
    I know that this isn't a part of your question, but I'd like to suggest avoiding the 'thou shalt not pass until...' situations. What if your user doesn't know the postal/zip code, and wants to fill in the rest of the form before finding it? They could enter dummy data to get past your requirement, but then there's a chance that they'll forget to replace it with the real value. Altogether, I think it's better to check for invalid data in the pre-save/pre-submit events, and warn them of the required fields then.
    Also, consider only calling setFocus for when the user is tabbing away from fields. If you manually call setFocus to control the tab order from all fields (I do this for all of my forms, as I find that dynamic forms don't play nice with the tab order) then use:
    if (xfa.event.commitKey == 3) then
         xfa.host.setFocus("$.parent.NextFieldName");
    endif
    This way, if the user clicks on another field that they want to fill next, they won't be redirected to the one you chose for them.
    Sorry for the unsolicited advice... These were just some of the things that I've had to deal with in the past.
    - Scott

  • Acrobat Reader 7.0.3 and xfa.host.exportData("",0);

    I have a lot of forms that I have made with Designer 7.0. Each of them has 'Export XML' button that has the following code
    xfa.host.exportData("",0);
    So far people with Acrobat Reader clients have been able to export form content to XML file, but now it seems that after some update (7.0.3) this is no longer possible?
    Is this really so?
    Br,
    Kari

    Hi!
    No, it is no so.
    At least it works fine with my forms. I have trouble with the
    xfa.host.importData();
    which gives me an error message even though it works.
    Håkon

  • Xfa.host.gotoURL() in Adobe Reader / Dynamic Tables with AcroForms?

    Hi All,
    I have a dynamic table in my LifeCycle form. Each table row contains a button that links to an external PDF file (using xfa.host.gotoURL). The links work fine in Acrobat 8 Pro, so far, so good... But when clicking the buttons in Reader 8, nothing happens. No error message or security warning, nothing...
    I searched the web and some forums for this problem and by reading between the lines of some posts I came to guess that my LifeCycle form will not work in Adobe Reader unless I purchase the respective LifeCycle Extensions license... :-/
    What exactly are my options now? Can I get the buttons to work in Adobe Reader somehow (using JS) without having to purchase the Reader Extensions? Or can I somehow recreate the dynamic table of the LifeCycle form using AcroForms in Acrobat 8 Pro to avoid the problem? If so, how do I add such a table using Acrobat's form tools...?
    Thanks for your help,
    Marcus

    Normal http://... URLs do indeed work, but relative URLs pointing to local files do not work with the Adobe Reader on my machine. I thought this might be due to a security restriction that can only be overcome by using the Reader Extensions...?
    Is there any other way of linking to other PDFs on the local machine than the gotoURL method? I also tried launchApp(), but it didn't work either.
    I currently use this statement to link to PDFs in a subfolder:
    xfa.host.gotoURL("TrainingGuides/"
    + docName + ".pdf", 1);

  • Xfa.host.exportData function

    Hello all,
    I have a problem related to the function xfa.host.exportData:
    My scenario is the next:
    - I have done a form with several fields.
    - A determined user open this form and fill up the fields.
    - That user, is able to send form via PDF or save as XML.
    In Acrobat Professional 8, there is no problem in order to do these functionalities but in Acrobat Reader 9, the user cannot save the data as XML.
    I placed the function xfa.host.exportData("",0) in the click event of a check box.
    I would like to know if there is any way to get the same functionality in Adobe Reader than Adobe Professional.
    Many thanks in advance.
    Best regards.

    Hi,
    Unless the form is Reader Enabled in LC Reader Extensions ES2, then users with Reader will not be able to export XML data.
    There is a summary and PDF here:
    http://www.assuredynamics.com/index.php/2010/11/using-livecycle-forms-in-acrobat-and-reade r/
    So the only way you will get this to work in Reader is to Reader enable the form in LC Reader Extensions ES2. Reader enabling in Acrobat Professional 8 will not work.
    Hope that helps clear that up,
    Niall
    Assure Dynamics

  • Xfa.host.exportData and Reader

    I've created a dynamic xml PDF form in Adobe LiveCycle designer.
    Inside the form I placed a button and on the click event I call xfa.host.exportData("",0);
    Then opened the file in Acrobat Professional, clicked the button and it works Yay! Then I Saved Other as Reader Extended PDF.
    Opened the newly saved file in Reader XI and when I click the button the JavaScript console spit out the following error:
    NotAllowedError: Security settings prevent access to this property or method.
    Doc.exportXFAData:-1:XFA:form1[0]:page3[0]:Button1[0]:click
    This is really annoying and could use some guidance.

    Take a look at the documentation for Doc.exportXFAData():
    http://help.adobe.com/livedocs/acrobat_sdk/11/Acrobat11_HTMLHelp/wwhelp/wwhimpl/common/htm l/wwhelp.htm?context=Acrobat11_HTMLHelp&file=JS_API_AcroJS.89.470.html
    As you can see from the "F" in the Quickbar, the document would need "Forms
    Rights" for this to work in Reader (
    http://help.adobe.com/livedocs/acrobat_sdk/11/Acrobat11_HTMLHelp/wwhelp/wwhimpl/common/htm l/wwhelp.htm?context=Acrobat11_HTMLHelp&file=JS_API_AcroJSPreface.88.8.html).
    You need LiveCycle Reader Extensions to assign those rights.
    Unless you can assign form rights to your document, this will not work in
    Reader.

  • Xfa.host.resetData() error message

    Some users, but not all, are getting an error message "Please select the Client's locale" when they press a button that has a single line of code on its click event: xfa.host.resetData(). The button has the default locale selected in its properties. The form has had the Reader extensions added, but the same thing is happening on the non-extended form.
    The users are using Acrobat Reader 7.0.5. Users with Reader 9 or Acrobat Pro 9 are not having the same issue. I could change the button's locale to English (USA), but that doesn't fix it (I tried) and all the other buttons are set to default locale and work fine.
    This is an 11th hour glitch -- we're supposed to distribute the form tomorrow if at all possible and this is the first time I've seen this.
    Any help greatly appreciated!

    There is a message defined in the mandatory field (State). I am wondering if they have not selected a state and this message is getting displayed (have you tied this field to any others in a calculation)? Just to confirm, change the text of the message and see if it happens again with the new message. It is not happening to me and I am using Acrobat 9 .... also see which version of Acrobat/Reader the troubled users are using.

  • Xfa.host.importData()

    Hi,
    I have stand-alone form PDF file, reader-extended, I open it with Reader-X,
    and I have a piece of javascript behind a button on the form that calls the importData() method,
    to import a XML data file.
    say, my form has 6 fields: a, b, c, x, y, z
    and the XML file has data in a, b, c, d, e, f
    it appears that after the importData() call, my form fields a, b, c got populated with data from the XML file,
    but the fields x, y, z got wiped out at the same time.  they become "null".
    Is it supposed to work like that?
    or maybe I have done something wrong?
    If it's supposed to work that way, is there a way to keep the data in x, y, z after the importData() call?
    is there another method that I can use to keep the original data in x, y, z?
    thanks

    Hi,
    If you open the form in LC Designer and select x, y, and z fields. Go to the Object > Binding palette and select the binding as None. This means that the fields will not take part in an XML data import OR export. This might suit your requirements, depending on how you are processing returning data.
    If you need to export data in the x, y, and z fields, then change the binding back to Normal/Name.
    As a workaround, you could script variables to have the values of the x, y and z fields BEFORE the import script. Then repopulate the fields after import. Something like this:
    // declare the variables
    var myX = TextField1.rawValue;
    var myY = TextField2.rawValue;
    var myZ = TextField3.rawValue;
    // import the xml
    xfa.host.importData();
    // repopulate fields
    TextField1.rawValue = myX;
    TextField2.rawValue = myY;
    TextField3.rawValue = myZ;
    Hope that helps,
    Niall
    Assure Dynamics

  • Getting rid of "Warning:  JavaScript Window" when using xfa.host.response()

    When I use xfa.host.response() I get that javascript warning. Is there a way to get rid of it?
    Thanks.

    The only way I know of to get rid of this warning is to Certify the document. Once the document has been certified, any javascript interaction either through the Dialog Manager or xfa.host.response will not have the warning.
    However, The only way to certify the document is to use Document Security Server or manually through Acrobat by adding a blank signature.
    I also dont know if this will work with Dynamic forms without breaking the certification. It worked in Static / Acrobat 6 compatible PDF's.
    Any scripting or dynamic rebuild of the form will break the certification and the message comes back.
    So basically, stick with the warning for now or else you need to make sure you revalidate the signature after EVERY piece of script using the signatureValidate() method of the AcroForm Field.

  • Xfa.host.beep

    I have a button that I want to make a Windows error sound when certain conditions are met. I've tried variations of xfa.host.beep() (e.g. xfa.host.beep("1"), xfa.host.beep("2")), but they never generate any sound. I tried both Acrobat and Reader (11.0.09) static and dynamic forms.

    Well actually, they didn't. I looked at my sound mixer (Windows 7)
    System sounds were disabled...

  • Simple Reset Button ( xfa.host.resetData )

    I am new to learning javascript and need some help with a reset button.
    At the moment is I cannot get the correct syntax to clear just one specific field, never mind a group of them.
    Simplified sample of my exisitng (none working) code: xfa.host.resetData ([field1,field2]);
    The above doesn't reset just 'Field1' and Field2', it still clears EVERY field.
    The end result I need is a button that clears all the fields contained within a subform, but I am unsure of the exact syntax to do this in JavaScript.
    Can anyone see where i am going wrong and help?
    Many Thanks
    Tom Bannister

    Tom,
    There is a similar post that you can find here
    http://www.adobeforums.com/cgi-bin/webx?128@@.3bb8e119

  • Xfa.host.resetdata doesn't clear imagefield

    I've created a subform containing an imagefield, a textfield and a reset button. The reset button should clear the subform via xfa.host.resetdata but it only clears the textfield but not the imagefield. Anyone else got this problem? Any ideas, workarounds?

    Solved it THX to this solution:
    http://forums.adobe.com/message/1340549?tstart=0#1340549

  • How to certificate a Form, that i can use xfa.host.importData("");?

    Hello!
    I´ve got made a Form that can import an XML Document. For this feature i use the javascript function
    xfa.host.importData(""); <-- empty String to open the OpenFileDialog
    the form works in Adobe Acrobat Reader 7.05 fine, but now i have updated my Adobe Acrobat Reader to 7.07 and nothing happend. A first look in the JavaScript Debbuger says me, that there is an security problem. So i have searched for this problem here in the forum and found an answer that this is only working with a certificated document/form.
    Is that right? I think its a bug, because why shoudt i certificate a document for Adobe Reader 7.07 and not for 7.05?
    My question is, how do i certificate the Form and what do i need to configure in the adobe reader that my document is working?

    [email protected] wrote:
    > Eva,
    >
    > While it's technically possible to attach files to an XFA-PDF form (a form designed in LiveCycle Designer (XFA) and saved as a PDF document) using Acrobat Pro, for example, it's really not recommended. An XFA form saved as a PDF document really a PDF with a thin wrapper around an XFA document. When the PDF document is opened in Designer, the PDF wrapper is discarded and therefore any annotations (such as bookmarks, attachments, comments, etc.) that you might have added to the PDF document using Acrobat are lost. Fortunately, we have a great solution for this in an upcoming release but I can't really give any details on it at the moment.
    >
    > As far as digital signatures go, I'm not really an expert in that area so I can't speak to whether attachments get signed or not. This might be a good question to post on an Acrobat Forum
    or the Reader Extension Forum
    >
    > Stefan
    > Adobe Systems
    Stefan,
    I'll have to disagree with you...I don't see the use of file attachments within an XFA form as an
    issue. Sure, the attachments will be discarded when you open them in Designer, but the purpose of
    Designer is for designing the form template, not as a client application for
    viewing/filling/distributing forms. The same could be said for form data or digital signatures...as
    soon as you open up a PDF file containing saved form data in Designer, you lose that information as
    well.
    As far as the digital signatures go...the attachments are included as part of the information
    that is signed. If you add or remove an attachment, the signature validation icon will display a
    yellow exclamation mark indicating that something in the form has changed.
    Justin Klei
    Cardinal Solutions Group
    www.cardinalsolutions.com

Maybe you are looking for