提交带有ajax结果的表单

时间:2018-12-18 01:51:11

标签: javascript jquery html ajax forms

我已使用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 action="http://other-domain.com/" method="POST" target="_black">
    <input type="submit" name="iframe" value="" />
</form>

此表单将iframe提交到其他域,该域将在新标签页中打开,并带有属性target="_black

如何将#output值放入表单并使用Ajax提交?

1 个答案:

答案 0 :(得分:0)

编辑

如果iframe的来源不同,则无法从其外部访问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();