繁体   English   中英

通过JavaScript设置表单目标

[英]Setting form target via JavaScript

下面的表单.submit()打开一个新窗口,iframe中没有任何内容,尽管form target='my-form-target 请参阅小提琴: https//jsfiddle.net/q81Lgmmf/1

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();
}

我需要通过JS将新创建的表单的目标设置为新创建的iframe。

再次回答我自己的问题。 在设置目标关系之前将新表单/ iframe附加到文档时,会发生此错误。 我不清楚确切的顺序,但做最后的附加做的诀窍: https//jsfiddle.net/q81Lgmmf/3/

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

  document.body.appendChild(formTarget);
  document.body.appendChild(form);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM