diff --git src/wp-includes/js/customize-preview.js src/wp-includes/js/customize-preview.js
index f5569ed..7e100a4 100644
|
|
|
|
| 67 | 67 | }); |
| 68 | 68 | |
| 69 | 69 | // You cannot submit forms. |
| 70 | | // @todo: Allow form submissions by mixing $_POST data with the customize setting $_POST data. |
| 71 | 70 | this.body.on( 'submit.preview', 'form', function( event ) { |
| | 71 | var urlParser; |
| | 72 | |
| | 73 | /* |
| | 74 | * If the default wasn't prevented already (in which case the form |
| | 75 | * submission is already being handled by JS), and if it has a GET |
| | 76 | * request method, then take the serialized form data and add it as |
| | 77 | * a query string to the action URL and send this in a url message |
| | 78 | * to the Customizer pane so that it will be loaded. If the form's |
| | 79 | * action points to a non-previewable URL, the the Customizer pane's |
| | 80 | * previewUrl setter will reject it so that the form submission is |
| | 81 | * a no-op, which is the same behavior as when clicking a link to an |
| | 82 | * external site in the preview. |
| | 83 | */ |
| | 84 | if ( ! event.isDefaultPrevented() && 'GET' === this.method.toUpperCase() ) { |
| | 85 | urlParser = document.createElement( 'a' ); |
| | 86 | urlParser.href = this.action; |
| | 87 | if ( urlParser.search.substr( 1 ).length > 1 ) { |
| | 88 | urlParser.search += '&'; |
| | 89 | } |
| | 90 | urlParser.search += $( this ).serialize(); |
| | 91 | api.preview.send( 'url', urlParser.href ); |
| | 92 | } |
| | 93 | |
| 72 | 94 | event.preventDefault(); |
| 73 | 95 | }); |
| 74 | 96 | |