提交表单时,使用JavaScript创建的表单元素不会在php中发布
概述: 我有三个php页面:提交表单时,使用JavaScript创建的表单元素不会在php中发布,php,javascript,forms,Php,Javascript,Forms,概述: 我有三个php页面: 一个是数据输入页面,它有一个文本字段,onkeydown会更改iFrame的URL iFrame包含一个页面,用于搜索LDAP和mySQL数据库中的电子邮件地址。单击搜索结果时,会将禁用的文本输入添加到数据输入页面 还有一个操作页面,它接收表单信息并发送电子邮件 问题是没有任何表单数据从静态表单元素或JavaScript创建的动态表单元素传递到操作页面 form.php // 选择收件人 致: 您似乎没有指定任何name=“参数,除了在上指定的参数之外,
- 一个是数据输入页面,它有一个文本字段,onkeydown会更改iFrame的URL
- iFrame包含一个页面,用于搜索LDAP和mySQL数据库中的电子邮件地址。单击搜索结果时,会将禁用的文本输入添加到数据输入页面
- 还有一个操作页面,它接收表单信息并发送电子邮件
//
选择收件人
致:
您似乎没有指定任何name=“
参数,除了在
上指定的参数之外,在
上指定的参数实际上并不有用
试着这样做,你应该会很好。我也有同样的问题。我的解决方案还添加了name属性
这就是我创建元素的方式
var myElement = document.createElement('input');
myElement.setAttribute('type', 'text');
myElement.setAttribute('id', 'txtElement');
myElement.setAttribute('name', 'txtElement');
myElement.setAttribute('style', 'margin:5px;width:120px;');
myElement.setAttribute('value', 'my value');
这是我向表单中的div添加元素的方式
document.getElementById("myDiv").appendChild(myElement);
我有这个问题。。。搜索并搜索解决此修复的方法,但什么也找不到
几分钟后。。。我会解决的
首先,您应该按照创建或将创建表单元素的相同方式创建表单。。但当y加载u页面时,此过程:
var formGrabar = document.createElement('form');
现在。。你可以创建一个表格并用u形对象填充它。。。请记住始终使用document.create
因此,动态创建输入类型按钮也很重要
结论:
对于通过POST使用JavaScript创建的submit表单元素,所有元素都应该动态创建,因为当您创建元素时,这些元素都是与直接使用html创建的元素不同的对象
@m4rloncs@3inlabs我很确定问题是由您将输入设置为“禁用”引起的。禁用的表单字段不会与post数据一起提交。也许更愿意将输入设置为“隐藏”输入,或者在禁用的文本输入旁边包含隐藏输入。对不起,我添加隐藏输入只是为了显示其中存在一些(它们都包含名称属性)。使用JavaScript创建的所有文本输入元素也是如此。Firebug会产生什么结果(或您使用的任何请求监视工具)为您提供发布的数据?
document.getElementById("myDiv").appendChild(myElement);
var formGrabar = document.createElement('form');