Problem with Editable Fields

Lynch, Jonathan bnz2 at cdc.gov
Mon Jul 18 13:03:18 EDT 2005


You can also try this in the "done" button:

On MouseUp
  Send DoThisScript to me in 0 seconds
End MouseUp

Then put the original mouseup script into a DoThisScript handler in the button. This will ensure that the script runs after other handlers.

However, it seems odd that mouseup would be occuring before closefield. Is it possible that your "done" button is non-focusing? This would mean that when you press the button, the focus never leaves the field you were in, thus not sending a closefield message. If this is the case, you need to make sure your button is focusable.

-----Original Message-----
From: use-revolution-bounces at lists.runrev.com [mailto:use-revolution-bounces at lists.runrev.com] On Behalf Of Eric Chatonet
Sent: Monday, July 18, 2005 11:42 AM
To: How to use Revolution
Subject: Re: Problem with Editable Fields

Hi Dave,

May be another approach, more ergonomic, could help you:
Just allow numbers to be typed into your field with a generic handler  
like the following:

on keyDown pKey
   if pKey is an integer and the number of chars of target < 3 then  
pass keyDown
end keyDown

It's only to get you started: you will find you have probably to  
build a rawKeyDown handler to be more precise and manage the current  
selection (if the user selects a portion and wants to type in).

Best Regards from Paris,

Eric Chatonet.

Le 18 juil. 05 à 17:32, David Burgun a écrit :

> I have the a number of fields in a card that have to be range  
> checked, to do this i have the following code:
>
> on openField
> set the cpSaveTextOfMe to the text of me
> end openField
>
> on closeField
> if (the text of me < 0) or (the text of me > 999) then
>   set the text of me to the cpSaveTextOfMe of me
>   select the text of me
>   beep
> end closeField
>
>
> There is also a "Done" Button that has this script:
>
> on mouseUp
> save this stack
> close this stack
> end mouseUp
>
> If I enter an invalid number and then click in another field, I get  
> beep and the contents of the field are restored and all is well.  
> However, if I enter an invalid number and then click the "Done"  
> button, it looks like the "mouseUp" handler is run BEFORE the  
> "closeField" handler. Since the value stored in the stack is the  
> invalid data. Is this the correct action? If so, what is the best  
> way to make this work so that bad values are not saved in the  
> stack. I really don't want to have to validate all fields from the  
> "Done" and other buttons on the card.


----------------------------------------------------------------
So Smart Software

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Free plugins and tutorials on my website
----------------------------------------------------------------
Web site        http://www.sosmartsoftware.com/
Email        eric.chatonet at sosmartsoftware.com/
Phone        33 (0)1 43 31 77 62
Mobile        33 (0)6 20 74 50 86
----------------------------------------------------------------

_______________________________________________
use-revolution mailing list
use-revolution at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution





More information about the use-livecode mailing list