提交带有ajax结果的表单



我使用AJAX成功地将iframe加载到div#output中。这个脚本为我播放视频。

jQuery( document ).ready( function( $ ) {
$( '.play_next' ).on('click', function( event ) {
event.preventDefault();
$('#output').empty();
var meta_key = $( this ).data( 'meta-key' );
var post_id = $( this ).data( 'post-id' );
$.ajax( {
url: ajaxobject.ajaxurl,
type: 'POST',
dataType: 'html',
data: {
action : 'wpse_296903_call_meta',
post_id : post_id,
meta_key : meta_key,
},
success: function( result) {
$( '#output' ).append( result );
}
});
});
});

现在不再需要div中的#output,需要用form。

<form action="http://other-domain.com/" method="POST" target="_black">
<input type="submit" name="iframe" value="" />
</form>

此表单将iframe提交到其他域,这些域在属性为target="_black的新选项卡中打开。

如何在Form中设置#output值并使用Ajax提交

编辑

如果iframe的来源不同,则不能从外部访问其内容。

如果是同一来源的

let form = document.createElement('form');
let input = document.createElement('input');
input.type = 'hidden';
input.value = encodeURIComponent(document.querySelector('iframe').contentDocument.innerHTML);
input.name = 'iframe_data';
form.action = 'myDestination.html'
form.appendChild(input);
document.body.appendChild(form);
form.submit();

最新更新