Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提交表单时,使用JavaScript创建的表单元素不会在php中发布_Php_Javascript_Forms - Fatal编程技术网

提交表单时,使用JavaScript创建的表单元素不会在php中发布

提交表单时,使用JavaScript创建的表单元素不会在php中发布,php,javascript,forms,Php,Javascript,Forms,概述: 我有三个php页面: 一个是数据输入页面,它有一个文本字段,onkeydown会更改iFrame的URL iFrame包含一个页面,用于搜索LDAP和mySQL数据库中的电子邮件地址。单击搜索结果时,会将禁用的文本输入添加到数据输入页面 还有一个操作页面,它接收表单信息并发送电子邮件 问题是没有任何表单数据从静态表单元素或JavaScript创建的动态表单元素传递到操作页面 form.php // 选择收件人 致: 您似乎没有指定任何name=“参数,除了在上指定的参数之外,

概述:

我有三个php页面:

  • 一个是数据输入页面,它有一个文本字段,onkeydown会更改iFrame的URL
  • iFrame包含一个页面,用于搜索LDAP和mySQL数据库中的电子邮件地址。单击搜索结果时,会将禁用的文本输入添加到数据输入页面
  • 还有一个操作页面,它接收表单信息并发送电子邮件
问题是没有任何表单数据从静态表单元素或JavaScript创建的动态表单元素传递到操作页面

form.php


// 
选择收件人
致:


您似乎没有指定任何
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');