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<如果有效,您可能不需要使用“返回結果”。