Almodovar Posted October 22, 2015 Posted October 22, 2015 Hi I trying to set focus on TUniHTMLMemo's text, but using the component SetFocus procedure fail. How I can do it? Thanks in advance Quote
Sherzod Posted October 22, 2015 Posted October 22, 2015 Hi, One of the possible solution, while, try: procedure TMainForm.UniButton1Click(Sender: TObject); begin UniSession.AddJS('Ext.get("'+ UniHTMLMemo1.JSName +'_id-inputCmp-iframeEl").focus()'); end; Best regards. 1 Quote
shawdown Posted January 14, 2018 Posted January 14, 2018 Hi, One of the possible solution, while, try: procedure TMainForm.UniButton1Click(Sender: TObject); begin UniSession.AddJS('Ext.get("'+ UniHTMLMemo1.JSName +'_id-inputCmp-iframeEl").focus()'); end; Best regards. This code is not working in my project. It does not display any errors but the focus is not set. I am using version 1.0.0.1422. Any suggestion? Quote
Sherzod Posted January 14, 2018 Posted January 14, 2018 I couldn't reproduce, can you make a simple testcase for this or provide part of your code here ? Quote
shawdown Posted January 14, 2018 Posted January 14, 2018 A simple example is attached. 1º - Click Button "Edit Focus" 2º - Click Button "HTMLMemo Focus" 3º - Click again in Button "Edit Focus" 4º - Click again in Button "HTMLMemo Focus" and now have problem. This example running in http://192.99.198.144:8077/ Thanks friend. focus.zip Quote
Sherzod Posted January 14, 2018 Posted January 14, 2018 Hi, Thanks for the testcase, Online demo example works for me. Which browser are you using ?! Quote
Sherzod Posted January 14, 2018 Posted January 14, 2018 Or, try with Ext.defer fn: UniSession.AddJS('Ext.defer(function(){Ext.get("'+ UniHTMLMemo1.JSName +'_id-inputCmp-iframeEl").focus()},100)'); Quote
shawdown Posted January 14, 2018 Posted January 14, 2018 Hi, Thanks for the testcase, Online demo example works for me. Which browser are you using ?! I'm using "Google Chrome Version 63.0.3239.132 (Official Version) 64-bit (Last Update)" In Internet Explorer 11 there is also a problem. The problem continues even with the code being reported. UniSession.AddJS('Ext.defer(function(){Ext.get("'+ UniHTMLMemo1.JSName +'_id-inputCmp-iframeEl").focus()},100)'); In firefox it works perfectly. Quote
Sherzod Posted January 14, 2018 Posted January 14, 2018 Can you try this approach ?!: UniHTMLMemo1.JSInterface.JSCall('focus', []); Quote
shawdown Posted January 14, 2018 Posted January 14, 2018 Can you try this approach ?!: UniHTMLMemo1.JSInterface.JSCall('focus', []); Internet Explorer 11 and Firefox are working perfectly. But in Google Chrome the problem continues. Quote
Sherzod Posted January 16, 2018 Posted January 16, 2018 Hi, Any suggestion? Ok, can you try to use this approach for now ?!: //UniHTMLMemo1.JSInterface.JSCall('focus', []); UniHTMLMemo1.JSInterface.JSCode('if (Ext.isChrome) {'#1'.iframeEl.el.dom.contentDocument.body.focus()} else {'#1'.focus()};'); Best regards, Quote
shawdown Posted January 16, 2018 Posted January 16, 2018 Hi, Ok, can you try to use this approach for now ?!: //UniHTMLMemo1.JSInterface.JSCall('focus', []); UniHTMLMemo1.JSInterface.JSCode('if (Ext.isChrome) {'#1'.iframeEl.el.dom.contentDocument.body.focus()} else {'#1'.focus()};'); Best regards, Perfect. Thank you very much for your attention. 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.