This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
action:Custom_HTML_Prompt [2017/03/05 22:23] peternlewis |
action:Custom_HTML_Prompt [2017/05/10 21:46] peternlewis Form Validation |
||
---|---|---|---|
Line 35: | Line 35: | ||
| data-kmwindowid | an ID that can be used with the [Execute a JavaScript in Custom Prompt](https://wiki.keyboardmaestro.com/action/Execute_a_JavaScript_in_Custom_Prompt) action | | | data-kmwindowid | an ID that can be used with the [Execute a JavaScript in Custom Prompt](https://wiki.keyboardmaestro.com/action/Execute_a_JavaScript_in_Custom_Prompt) action | | ||
- | For example:\\ | + | For example: |
```html | ```html | ||
<body data-kmwindow="SCREEN(Main,Left,20%),SCREEN(Main,Top,20%),420,560"> | <body data-kmwindow="SCREEN(Main,Left,20%),SCREEN(Main,Top,20%),420,560"> | ||
Line 80: | Line 80: | ||
Note: Prior to 7.1 autofocus did not work for textarea types. | Note: Prior to 7.1 autofocus did not work for textarea types. | ||
- | The *Keyboard Maestro Variable* “//**HTML Result Button**//” is set to the parameter in the `Submit()` function. For example:\\ | + | The *Keyboard Maestro Variable* “//**HTML Result Button**//” is set to the parameter in the `Submit()` function. For example: |
```html | ```html | ||
Line 104: | Line 104: | ||
===== Using JavaScript ===== | ===== Using JavaScript ===== | ||
- | You may use any JavaScript that you normally could in an HTML page.\\ | + | You may use any JavaScript that you normally could in an HTML page. |
Keyboard Maestro provides the following built-in JavaScript functions: | Keyboard Maestro provides the following built-in JavaScript functions: | ||
Line 126: | Line 127: | ||
Prior to version 7.1, using SetVariable to set a value to something other than a string can [corrupt the variable](https://forum.keyboardmaestro.com/t/corrupted-variables-after-custom-html-setvariable-update-i-fixed-it-please-read/2881). | Prior to version 7.1, using SetVariable to set a value to something other than a string can [corrupt the variable](https://forum.keyboardmaestro.com/t/corrupted-variables-after-custom-html-setvariable-update-i-fixed-it-please-read/2881). | ||
+ | |||
+ | ==== Form Validation ==== | ||
+ | |||
+ | You can use HTML5’s form validation to automatically validate the fields. Specify their input types (eg "email" or "url" instead of "text"), as well as other properties like minimum/maximum numbers and so on, and then instead of simply: | ||
+ | |||
+ | onclick="window.KeyboardMaestro.Submit('OK')" | ||
+ | |||
+ | do something like: | ||
+ | |||
+ | onclick="if ( document.getElementById('myform').checkValidity() ) { window.KeyboardMaestro.Submit('OK') } else { document.getElementById('myform').reportValidity() }" | ||
==== Debugging JavaScript in the Form ==== | ==== Debugging JavaScript in the Form ==== | ||
- | Please see this forum post:\\ | + | Please see this forum post [How to Enable JavaScript Console for KM Custom HTML Prompt](https://forum.keyboardmaestro.com/t/javascript-console-in-custom-html-prompt/2589/8). |
- | [How to Enable JavaScript Console for KM Custom HTML Prompt](https://forum.keyboardmaestro.com/t/javascript-console-in-custom-html-prompt/2589/8) | + | |
(!) Be aware that the system will not allow Keyboard Maestro Engine to see keys typed in its own windows so the [[trigger:Typed String | Typed String triggers]] will not work within Keyboard Maestro Engine windows. | (!) Be aware that the system will not allow Keyboard Maestro Engine to see keys typed in its own windows so the [[trigger:Typed String | Typed String triggers]] will not work within Keyboard Maestro Engine windows. | ||
Line 174: | Line 184: | ||
* If your favorite Web/HTML editor is not listed here, and you would like to include it, post a request in the [[https://forum.keyboardmaestro.com/c/wiki|Keyboard Maestro Forum, Wiki section]]. | * If your favorite Web/HTML editor is not listed here, and you would like to include it, post a request in the [[https://forum.keyboardmaestro.com/c/wiki|Keyboard Maestro Forum, Wiki section]]. | ||
+ | |||
+ | --- | ||
+ | |||
+ | **Keywords:* Custom HTML Prompt, User Prompt, HTML, Dialog |