我想知道塊中的事件,使用它可以在沒有通過按鈕提交表單的情況下獲得輸入的文本值。如何在沒有表單提交的情況下在App Inventor中獲取文本框值?
比方說,用戶通過鍵盤輸入手機文本,並按下輸入。在這種情況下,我想要一些事件觸發並獲取用戶輸入的值。
有2個事件可用,如lostfocus
和gotfocus
。 這些工作?或者是否有任何其他好的方法來獲得輸入文本值?
我想知道塊中的事件,使用它可以在沒有通過按鈕提交表單的情況下獲得輸入的文本值。如何在沒有表單提交的情況下在App Inventor中獲取文本框值?
比方說,用戶通過鍵盤輸入手機文本,並按下輸入。在這種情況下,我想要一些事件觸發並獲取用戶輸入的值。
有2個事件可用,如lostfocus
和gotfocus
。 這些工作?或者是否有任何其他好的方法來獲得輸入文本值?
不幸的是,在MIT App Inventor中沒有像OnEnterPressed
這樣的事件,並且事件LostFocus
和GotFocus
在這種情況下不起作用。
什麼,你現在可以做的是
Button.Click
事件,或目前,對於限制App Inventor extensions,它只能用於不可見的組件。稍後,只要可見組件可行,那麼您可以編寫自己的文本框擴展並自行添加事件。
編輯就在評論有關不同的屏幕新的問題:
使用不同的屏幕明智
開始創建另一個屏幕之前,首先你應該想想是不是真的有必要嗎?參見Building apps with many screens和SteveJG's post about advantages/disadvantages,因爲只有一個屏幕你也可以使用縱向安排來模擬不同的屏幕,剛剛成立的安排,可見=真/假需要...
您可以將Clock
組件監視TextBox1.Text
。當它觸發時,它會檢查TextBox1.Text
是否已更改並將其保存到變量。當它再次觸發時,它將該變量與TextBox1.Text
進行比較。在用戶輸入完成後,變量和TextBox1.Text
將相等,然後您可以觸發當用戶按Enter鍵時出現的事件。
希望這會有所幫助!
感謝您的回覆,@泰豐。如果我創建一個自定義鍵盤,我怎麼能添加它,我有很多屏幕。例如,我有10頁,我想用戶在所有屏幕中輸入文本?我不想重複代碼.. – bhaskar
實際上這是一個新問題,下次你可能會問*新問題...現在看到我更新的答案並閱讀[我應該怎麼做當有人回答我的問題?](https://stackoverflow.com/help/someone-answers) – Taifun