-1

I have Filemaker pro 7 (yes a million years old)

I need help to make a very simple email data collection form for trade shows I attend. Lots of people need this kind of form.

I have done it! It has a space to type your email and then if you CLICK the onscreen “Submit” button it opens up a new record so the next person can enter their email. Simple and sweet.

Yet, what I really want to do is make it that when they hit the keyboard “ENTER” key it opens a new record. So the customer doesn’t have to use the mouse. Why? Because everyone hits the keyboard Enter key automatically. That is what is intuitive. This would make me very very happy!

To really make me ecstatic I would love it if they could type their email once, hit enter and then go to ANOTHER fill-in box on the same page where they would type their email again - to make sure that they spelled it correctly. If the two boxes didn’t match, the program would ask them to try again. If the two entries matched, then when they hit the keyboard Enter key it would open a new record (like above).

Can anyone help me do this?

2 Answers2

0

That could be difficult in FileMaker 7. If you consider upgrading to version 11 or 12 it would be much easier. In the later versions you have a feature called ScriptTriggers that would be very useful for your solution.

The only real way I can think of is if you write a script with a Custom Dialog that shows two fields, one for the email and the other for re-typing the email. You then put this dialog in a loop so it keeps asking for a new email until you click "cancel"

You will need two global textfields for this, globalText1 and globalText2

The script could look something like this.

[Set Field globalText1; ""]
[Set Field globalText1; ""]
[Loop]
  [Show Custom Dialog; "Enter new Email"; globalText1; globalText2]
  [If get(lastMessageChoice) = 2]
      [Exit loop if: True]
  [Else if globalText1 <> globalText2]
      [Show custom dialog; "You must type the same E-mail in both fields"] 
  [Else]
      [Create new Record]
      [Set field "Emailadress"; globalText1]
      [Commit record; Do not display dialog]
      [Set Field globalText1; ""]
      [Set Field globalText1; ""]
  [End if]
[End Loop]

Note that the dialog with the two input fields needs two buttons. Button 1 is "OK" and button 2 is "Cancel". The second dialog is only a warning and needs 1 button that is "OK" and no inputfields.

Hope this helps

Kalle
  • 452
  • 2
  • 4
  • 19
0

You can do as Kalle recommended but you won't need to use the Dialog Box.

Put the two fields on a layout and go to that layout before entering the loop.

Replace the Dialog Box with a Pause script step. Set the fields.

Set the fields to tab out when the user presses Enter or Return.

You may find that using a layout is more desirable if and when you move to FMP12.

QOL
  • 9
  • 4