Letraindusoir Posted January 15, 2021 Share Posted January 15, 2021 (edited) Quote <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>InputEvent</title> </head> <body> <form name="input" action="html_form_action.php" method="get"> <label>Text: <input type="text" id="text"/></label> <br> <label for="sel">Select:</label> <select name="sel" id="sel"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <br> <label for="r1">r1</label><input type="radio" name="radio" value="r1" id="r1"> <label for="r2">r2</label><input type="radio" name="radio" value="r2" id="r2"> <label for="r3">r3</label><input type="radio" name="radio" value="r3" id="r3"> <label for="r4">r4</label><input type="radio" name="radio" value="r4" id="r4"> <label for="r5">r5</label><input type="radio" name="radio" value="r5" id="r5"> <br> <label for="tta">TextArea:</label> <textarea name="tta" id="tta" cols="30" rows="10"></textarea><br> <input type="submit" value="Submit"><br> </form> <script> var text = document.getElementById("text"); text.addEventListener("input", function (e) { document.getElementById("tta").value=e.target.value; }); </script> </body> </html> As above, the web-page inputbox has input events, input characters, below the textarea real-time display. If want to disable inputbox events, how do implement them with Au3? #include <IE.au3> Local $oIE = _IEAttach("InputEvent - Internet Explorer","windowtitle") If IsObj($oIE) Then Local $oInput=$oIE.document.getElementById("text") If isObj($oInput) Then $oInput.removeEventListener("input",'function',false) If @error Then MsgBox(4096,"","failure!") EndIf Else MsgBox(4096,"","$oIE--failure!") EndIf that don't work, I am not familiar with javascript functions and syntax, I can only following suit, I do not know how to further... Thanks for the help Early advance! Edited May 23, 2021 by Letraindusoir Link to comment Share on other sites More sharing options...
FrancescoDiMuro Posted January 15, 2021 Share Posted January 15, 2021 1 minute ago, Letraindusoir said: docunment Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette Link to comment Share on other sites More sharing options...
Letraindusoir Posted May 22, 2021 Author Share Posted May 22, 2021 On 1/15/2021 at 5:16 PM, FrancescoDiMuro said: See this post occasionally today … Words are misspelled, but have nothing to do with this Link to comment Share on other sites More sharing options...
JockoDundee Posted May 22, 2021 Share Posted May 22, 2021 5 hours ago, Letraindusoir said: Words are misspelled, but have nothing to do with this you think you can misspell document and it should still work? Local $oInput=$oIE.docunment.getElementById("text") Code hard, but don’t hard code... Link to comment Share on other sites More sharing options...
Letraindusoir Posted May 23, 2021 Author Share Posted May 23, 2021 (edited) 17 hours ago, JockoDundee said: you think you can misspell document and it should still work? Local $oInput=$oIE.docunment.getElementById("text") The above are just simple example to explain what want to ask.. Because what really needs to solve is an internal web site, there is no way to provide links for testing. The webpage seems to use dojo、bootstrap, etc. , web elements layer by layer nested, binding events are more complex.It would be nice to have a general method of temporarily disabling events or similar examples... Edited May 23, 2021 by Letraindusoir Link to comment Share on other sites More sharing options...
JockoDundee Posted May 23, 2021 Share Posted May 23, 2021 10 minutes ago, Letraindusoir said: The above are just simple example to explain what want to ask.. Ok, sure, but in your OP you posted some code that contained the misspelling “docunment”, and then you said: On 1/15/2021 at 1:14 AM, Letraindusoir said: that don't work, So the question would now be, have you even tried the code you posted (with the misspelling) ? If not, why not? If so, why not try it with the correct spelling? Code hard, but don’t hard code... Link to comment Share on other sites More sharing options...
Letraindusoir Posted May 23, 2021 Author Share Posted May 23, 2021 43 minutes ago, JockoDundee said: Ok, sure, but in your OP you posted some code that contained the misspelling “docunment”, and then you said: So the question would now be, have you even tried the code you posted (with the misspelling) ? If not, why not? If so, why not try it with the correct spelling? with the correct spelling,The above code don't work for me..... Link to comment Share on other sites More sharing options...
TheXman Posted May 23, 2021 Share Posted May 23, 2021 (edited) On 1/15/2021 at 3:14 AM, Letraindusoir said: If want to disable inputbox events, how do implement them with Au3? If you did your homework before creating this topic, then I'm sure that you found that removing anonymous events, using removeEventListener(), cannot be done because there's no reference to them. However, based on your specific sample html & request above, there is a very simple solution. Since the anonymous events for the "Text" field are added based on an element node with an id equal to "text", you can "unhook" the events from the element by simply changing the element's ID or by removing the definition of the event, and rewriting the HTML. The example below changes the element's ID: #include <Constants.au3> #include <IE.au3> example() Func example() Local $oIE = Null, $oNode = Null ;Attach to existing IE instance $oIE = _IEAttach("InputEvent", "windowtitle") If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "ERROR", "Unable to attach to IE with specified title.") ;Get node with id = text $oNode = _IEGetObjById($oIE, "text") If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "ERROR", "No matching object id found.") ;Change node's ID. This will invalidate anonymous functions tied to the old ID. $oNode.id = "newid" ;Rewrite modified document _IEDocWriteHTML($oIE, $oIE.document.documentElement.innerHtml) MsgBox($MB_ICONINFORMATION + $MB_TOPMOST, "INFO", 'Try typing text in the "Text" box now.') EndFunc Edited May 23, 2021 by TheXman Removed unused variable CryptoNG UDF: Cryptography API: Next Gen jq UDF: Powerful and Flexible JSON Processor | jqPlayground: An Interactive JSON Processor Xml2Json UDF: Transform XML to JSON | HttpApi UDF: HTTP Server API | Roku Remote: Example Script About Me How To Ask Good Questions On Technical And Scientific Forums (Detailed) | How to Ask Good Technical Questions (Brief) "Any fool can know. The point is to understand." -Albert Einstein "If you think you're a big fish, it's probably because you only swim in small ponds." ~TheXman Link to comment Share on other sites More sharing options...
Letraindusoir Posted May 24, 2021 Author Share Posted May 24, 2021 19 hours ago, TheXman said: However, based on your specific sample html & request above, there is a very simple solution. Thanks chivalrous expert for giving directions! As posted above, that' s just using a simple example explaining the question I want to ask. The actual web-page seems to be using the dojo、bootstrap component constructed element to respond to events, so I hope there would be a more common way to ban elements from responding to events. For example, after positioning to an element, deactivate it in some way Link to comment Share on other sites More sharing options...
TheXman Posted May 24, 2021 Share Posted May 24, 2021 (edited) I try very hard NOT to make assumptions as to what a person is asking or wants. Making assumtions usually ends up wasting time and gives that person a way to say that's not what they were looking or asking for. Therefore, I only work with what I've been given and the answers to any followup questions that are asked. So, if you provide overly-simplified examples and requests, don't be surprised when you receive overly-simplified replies. In other words, as it says in my signature, if you want better answers, learn how to ask better questions. You may benefit from reading one or both of those articles. 54 minutes ago, Letraindusoir said: The actual web-page seems to be using the dojo、bootstrap component constructed element to respond to events, The statement above, without accurate, detailed, examples, is almost useless. It's like telling a mechanic that you have a car with a V8 engine, and other assorted non-specific performance modifications, and asking the mechanic how to improve its performance or make further modifications without seeing the car itself or a detailed list of parts and specs. That would be a fool's errand. 54 minutes ago, Letraindusoir said: so I hope there would be a more common way to ban elements from responding to events. You already stated that you are "not familiar with JavaScript functions and syntax". So how do you know what you want or need or what is a "more common way"? There are numerous ways to do what you are asking but it depends on the specifics of any given web page. I discussed a couple of them above based on what you provided. I even provided an example of one of the ways. But without seeing what you are working with, how is anyone supposed to help you learn how to resolve your specific issue? If you are going to be playing around with web pages, maybe you should spend a little more time learning those technologies. That way you can ask more informed questions, better understand the replies that you receive, and then ask more intelligent followup questions in order to learn how to do what it is you need/want to do. Edited May 24, 2021 by TheXman Earthshine and Danp2 2 CryptoNG UDF: Cryptography API: Next Gen jq UDF: Powerful and Flexible JSON Processor | jqPlayground: An Interactive JSON Processor Xml2Json UDF: Transform XML to JSON | HttpApi UDF: HTTP Server API | Roku Remote: Example Script About Me How To Ask Good Questions On Technical And Scientific Forums (Detailed) | How to Ask Good Technical Questions (Brief) "Any fool can know. The point is to understand." -Albert Einstein "If you think you're a big fish, it's probably because you only swim in small ponds." ~TheXman Link to comment Share on other sites More sharing options...
Letraindusoir Posted May 24, 2021 Author Share Posted May 24, 2021 1 hour ago, TheXman said: I try very hard NOT to make assumptions as to what a person is asking or wants. just Because not familiar with JavaScript functions and syntax, and the source site is a non - public java - based application,so it is impossible to specify the problem too clearly and provide specific complex web-pages.sorry! I only know that it introduces the dojo、bootstrap components. I thought that as long as we positioned the specific elements, we could put a brake or plug a pin on it, and it seemed that I thought it was simple. I tried to use VisualEvent to track events but had no gains. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now