Joseph31 Posted March 21, 2006 Posted March 21, 2006 Is there a way to write a script that will run after a selection is made from a pull down menu? Example: Pull down Menu item is selected (Active) as soon as the selection is made a script runs... Thank you, Joseph
Quint Posted March 21, 2006 Posted March 21, 2006 Hi, just found this plugin, zipp-script... demofile is on this site.... http://www.nightwing.com.au/FileMaker/demos8/demo806.html regards
Quint Posted March 22, 2006 Posted March 22, 2006 Nope, The only other way is a button next to your dropdown field 'GO' and attach your script to that button.
Inky Phil Posted March 22, 2006 Posted March 22, 2006 I did see reference some while ago to a technique that used a global a pause and a loop. If I remember rightly (risky!!) A script was triggered on entry to the field which first stored the current contents of the field that holds the drop down menu into the global, then pauses for a short duration then checks if the global still matches the contents of the field. It keeps looping round until the contents of the field no longer match the contents of the global indicating that the user had made a new choice. It then exits the loop and does whatever was wanted. Quite what it did if the field did not change I cannot remember but I mention all of this only because I think that maybe one can come out of a value list and trigger an event When I looked at the sample file it worked but was very 'flashy' and a bit too distracting to be worth considering I think this thread was in the FM Cafe Sorry I cannot be more specific. Phil
Quint Posted March 22, 2006 Posted March 22, 2006 To loop a script is not an elegant solution and totally not idiot proof. You should need an errorCapture and userAbortOption while you are not in a dialoge-window. It requires to loop the script in the userinterface when idle ? Meanwhile other solutions in fmpro wil slow down, if they wil work at all. Therefore I prefere my second option. Still working my way throug the plugin, wich seems to do just fine. Although the plugin is Free, the documentation is quite summier. You have to figure out how it works working your way through the samplefile(s) Quint
SteveB Posted March 22, 2006 Posted March 22, 2006 On Windows, you can do exactly what you want without a plugin. I use this technique all the time with no adverse consequences. Make sure the field does not allow entry. The field must be formatted as a Popup Menu, not a Drop-down list! AllowUserAbort(Off) GoToField (fieldwithpopup) Pause/Resume(1 sec) Commit Record/Request rest of script The 1 second pause is necessary to cause the list to open. Steve
Joseph31 Posted March 22, 2006 Author Posted March 22, 2006 Great thanks, I will give this a try... Seems really easy... This way I do not have to be worried about someone forgetting to click a button after a new items has been selected... Will let you know... Joseph
LaRetta Posted March 22, 2006 Posted March 22, 2006 I use (used) it also. But attaching a script to popup menu can crash client in 8.0v1 so be sure you're on 8.0v2. We dropped back to 8.0v1 because of the regression issue and all my scripted popups began to crash us. The bug is documented in Tech Info. But I love the technique and, being on windows, it DOES work a treat. BTW, I've tested in 8.0v2 and it works wonderfully again. I can't wait to move us forward again. In the meantime, I've had to switch to event triggers to fire them. :wink2:
Joseph31 Posted March 22, 2006 Author Posted March 22, 2006 Works Great... I need to upgrade to 8v2 I guess. Thanks to you all Joseph
Quint Posted March 22, 2006 Posted March 22, 2006 this looks great, It does require a script to start in the first place ? somethings puzzles me, For what purpose would you use this ? For validation or a real action (complete script) after this field has been entered. At first I thougt it would be for navigation purpose or something. But I understand it is not 'just' a given field waiting to be entered?
LaRetta Posted March 22, 2006 Posted March 22, 2006 (edited) "It does require a script to start in the first place ?" Since your turn off 'Allow Entry' to field, it must be clicked which activates the attached script. The script takes it from there, pausing for input, then finishing the script. Example of its use: Every time someone changes data in a certain text field (the popup), I want to generate a new record (creating an activity for that person to do certain work), depending upon their choice. Script can have script parameter attached to grab the original value. After selection is made, script tests: If [ popupField = Script(Parameter), Commit and Halt, Else (do your new record stuff). UPDATE: This ALSO works great with Go To Layout[] etc so can be used (and I've used it this way in vs. 6) for navigation. Just attach it to global text. Edited March 22, 2006 by Guest Added Update
Quint Posted March 23, 2006 Posted March 23, 2006 (edited) Thanks miss LaRetta, With this info I could think of some purposes and maybe I will implement it sometimes but for now I don't think I would use this technique. I use zipscript to update a highlight in listview and watch a global-searchfield When something entered in 'search', when exit the field auto search is initiated. The pulldown should work for me for navigation so I will keep it in mind. still curious where joseph will use this for. Quint btw, working on a mac, Will this work on mac also ?? or I could simply try it..... }:( Edited March 23, 2006 by Guest
LaRetta Posted March 23, 2006 Posted March 23, 2006 Oh. No. Sorry Quint. For once, this is a Windows bonus. It would help if you updated your profile so everyone knows your OS and FM version. I would have responded differently knowing you were Mac. Well then, it's a good thing you probably wouldn't use it anyway. But you can use event triggers - you still have the script but you just wouldn't fire it from the popup itself. I don't yet have a Mac so I haven't tested scripting on them with vs. 7 or 8. LaRetta :wink2:
SteveB Posted March 23, 2006 Posted March 23, 2006 (edited) It's also useful in a portal when you have a popup menu. Sometimes I'll use it only to cause the portal to refresh. In other cases, values that the user selected in the popup would cause me to chnage other fields. For example I have a Status Field and a Date Completed Field. When the user changes the Status to 'Completed', I automatically fill in the Date Field with the current date. To make it work, attach the script directly to the field that's formatted with the popup. Steve Edited March 23, 2006 by Guest
Quint Posted March 23, 2006 Posted March 23, 2006 Well, I just tested it and indeed it didn't work as expected. However a pause indevenetely will do but an physical enter has to be made to resume the script. Quint /*I updated my profile as requested, love/*
Recommended Posts
This topic is 6823 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now