Newb JSL 问题:如何将文本编辑框的内容放入变量中?你好,
我是 JSL (JMP 13.1) 的初学者,我正在努力解决交互式对话框逻辑,特别是如何将文本编辑框的内容提取到变量中。
下面是一个不起作用的 JSL 脚本片段(即变量“prefix”未使用文本编辑框“tt1”的内容进行更新)。
prefix = "";
win = New Window (" TEST ",
<< Modal,
<< On Validate (
if (Is Missing (prefix),0,1);
),
H List Box (
Text Box (" Define Prefix "),
tt1 = Text Edit Box (""),
prefix = (tt1 << Get Text) // I cannot figure out how to assign the content of "tt1" to "prefix""
),
);
Show (tt1, prefix);感谢您的帮助。
真挚地,
TS
回复:Newb JSL 问题:如何将文本编辑框的内容放入变量中?您当前正在将分配脚本放置在需要显示框的函数中。以下是您可以放置该行的不同位置:
1/根据您的代码,您正在根据前缀的值验证窗口,因此您可以在条件测试之前放置一行
2/ 在新窗口调用后,在用户单击“确定”后取消选择窗口的内容
3/ 在 onClose 事件中,使用与 onValidate 类似的语法创建(实现与 (2) 相同的效果,但在 Windows/Mac 平台上更优雅、更健壮
4/ 在附加到显示框本身的事件处理程序内
鉴于您正在验证表单,我会选择第一个选项:
prefix = "";
win = New Window (" TEST ",
<< Modal,
<< On Validate (
prefix = tt1 << Get Text;
if (Is Missing (prefix),0,1);
),
H List Box (
Text Box (" Define Prefix "),
tt1 = Text Edit Box (""),
),
);
Show (tt1, prefix);
回复:Newb JSL 问题:如何将文本编辑框的内容放入变量中?将设置前缀值的脚本放入文本编辑框更改时执行的脚本中
Names Default To Here( 1 );
prefix = "";
win = New Window( " TEST ",
<<MODAL></MODAL>
回复:Newb JSL 问题:如何将文本编辑框的内容放入变量中?尝试这个
win = New Window( "Set a Value in Number Edit Box",
<<MODAL></MODAL>
当模式窗口关闭时,返回的值是已分配的框的内容列表:
win = {numberbox = 3.1415, texteditbox = "argyle", Button(1)};
按钮(1)表示确定按钮,-1表示取消按钮。
win["numberbox"] 是一种要求列表搜索其成员以查找分配并返回值的方法。
回复:Newb JSL 问题:如何将文本编辑框的内容放入变量中?嗨克雷格,
感谢您的帮助:我已经尝试在文本编辑框调用中移动“prefix = (tt1 << Get Text)”行,但收到一条错误消息“显示框‘TextEditBox’无法识别消息‘分配’ ’”。
我还没有弄清楚如何合并返回结果开关回复:Newb JSL 问题:如何将文本编辑框的内容放入变量中?查看使用“返回结果”的示例https://www.jmp.com/support/help/14-2/constructors-for-new-windows.shtml
另外在你的例子中:
H List Box (
Text Box (" Define Prefix "),
tt1 = Text Edit Box (""),
prefix = (tt1 << Get Text) // I cannot figure out how to assign the content of "tt1" to "prefix""
),
HListBox 的 tt1=... 和 prefix=... 参数在创建 hlistbox 时执行。 tt1 产生 HListBox 保留的 textEditBox。 我非常确定前缀值“”被 hlistbox 忽略。 我离开了办公桌,但我认为当值发生变化时,textEditBox 可能能够运行一些 JSL 作为第二个参数......也许您想要更接近的东西tt1=texteditbox("", prefix=(tt1<如果有效,您可能不需要使用“返回结果”。