2016-05-15 18 views
1

.submit()のフォームの下に新しいウィンドウが開き、form target='my-form-targetにもかかわらずiframeに何も表示されません。私はJSを経由して、新しく作成されたIFRAMEに新しく作成されたフォームのターゲットを設定する必要がhttps://jsfiddle.net/q81Lgmmf/1JavaScript経由でフォームターゲットを設定する

createAndSubmitForm(); 

function createAndSubmitForm() { 
    var formBody = '<form action="//fiddle.jshell.net"><input value="123"></form>'; 
    var formContainer = document.createElement('div'); 
    var formTarget = document.createElement('iframe'); 


    document.body.appendChild(formContainer); 
    document.body.appendChild(formTarget); 
    formTarget.name = 'my-form-target'; 
    formContainer.innerHTML = formBody; 

    // setting form target to the iframe 
    // this sets the action, but iframe does not receive anything on submit 
    formContainer.children[0].target = formTarget.name; 

    // submit comes in a new window as if target were _blank 
    formContainer.children[0].submit(); 
} 

:フィドルを参照してください。

答えて

0

再度自分の質問に回答してください。このエラーは、ターゲットの関係を設定する前に、新しいフォーム/ iframeをドキュメントに追加するときに発生します。正確な順序では明確ではありませんが、最後に追加を行うと、トリックが実行されます。https://jsfiddle.net/q81Lgmmf/3/

formTarget.name = 'my-form-target'; 
    form.target = 'my-form-target'; 

    document.body.appendChild(formTarget); 
    document.body.appendChild(form); 
関連する問題