如何在新窗口中创建HTML表单

我有以下function:

// open a new window. Create and submit form function createSubmitForm(response) { var external = window.open('about:blank', 'external'); var doc = external.document; var body = $('body', doc); // create a new form element var form = $("
"); // set the form's attributes and add to iframe form.attr("action", response.action) .attr("method", response.method); form.appendTo(body); // create form elements; for (var i = 0, len = response.fields.length; i < len; i++) { var field = response.fields[i]; if (field.name != "") { $("") .attr("name", field.name) .attr("value", field.value) .appendTo(form); } } // submit the form form.submit(); }

当我尝试执行它时,我在form.appendTo(body)得到一个“未指定的错误”

我在这里做错了什么?

试试这个:
请注意,您的服务器上必须有一个空白页面http://localhost/some-blank-page-on-your-server.php

      JS Bin        

如果要在新窗口中写入,请使用document.write。 您的工作方式不适用于所有浏览器。

尝试使用jquery在追加时定义表单

$(forms).appendTo(主体);

我认为更简单的方法是使用jquery UI对话框

我会在appendTo之前抛出一个警告(表单),只是为了看看页面认为表单变量是什么。

帮助查明问题的另一个选择是在firefox中加载firebug并使用它来调试问题。 作为一个快速测试,我会摆脱camelcase,因为我之前有过实例,即使它应该是camelcase它只有在全部小写时才有效。 通常这是在IE中。 傻,但这是一个快速检查。