-1

我有 Filemaker pro 7(是的,已有 100 万年历史)

我需要帮助为我参加的贸易展览制作一个非常简单的电子邮件数据收集表。很多人都需要这种形式。

我已经做了!它有一个输入您的电子邮件的空间,然后如果您单击屏幕上的“提交”按钮,它会打开一条新记录,以便下一个人可以输入他们的电子邮件。简单又甜美。

然而,我真正想做的是,当他们敲击键盘的“ENTER”键时,它会打开一个新记录。因此客户不必使用鼠标。为什么?因为每个人都会自动敲击键盘 Enter 键。这就是直觉。这会让我非常非常高兴!

真让我欣喜若狂,如果他们可以输入他们的电子邮件一次,按回车键,然后转到同一页面上的另一个填写框,他们将再次输入他们的电子邮件 - 以确保他们拼写正确,我会很高兴。如果两个框不匹配,程序会要求他们再试一次。如果这两个条目匹配,那么当他们按下键盘 Enter 键时,它将打开一个新记录(如上)。

谁能帮我做到这一点?

4

2 回答 2

0

这在 FileMaker 7 中可能很困难。如果您考虑升级到版本 11 或 12,它会容易得多。在更高版本中,您有一个称为 ScriptTriggers 的功能,该功能对您的解决方案非常有用。

我能想到的唯一真正的方法是,如果您编写一个带有自定义对话框的脚本,该对话框显示两个字段,一个用于电子邮件,另一个用于重新输入电子邮件。然后你把这个对话框放在一个循环中,这样它就会一直询问新的电子邮件,直到你点击“取消”

为此,您将需要两个全局文本字段 globalText1 和 globalText2

脚本可能看起来像这样。

[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]

请注意,带有两个输入字段的对话框需要两个按钮。按钮 1 是“确定”,按钮 2 是“取消”。第二个对话框只是一个警告,需要一个“确定”按钮并且没有输入字段。

希望这可以帮助

于 2013-01-24T09:09:48.320 回答
0

您可以按照 Kalle 的建议进行操作,但不需要使用对话框。

将这两个字段放在一个布局上,然后在进入循环之前转到该布局。

将对话框替换为暂停脚本步骤。设置字段。

当用户按 Enter 或 Return 时,将字段设置为制表符。

当您迁移到 FMP12 时,您可能会发现使用布局更可取。

于 2013-01-30T15:13:31.537 回答