需要访问<输入>来自<形式>,已经附加了Javascript
Need to access <input> data from a <form>, that has been appended with Javascript
我有一个管理页面,可以在其中动态添加和删除表行。该页面加载了数据库中现有的数据(主要由一个skuCode和5个不同的价格组成),但当我动态添加行,并用相应的sku和价格填充它们时,我也想将它们保存在数据库中。
问题是,我在客户端使用Javascript(动态添加表行)使用innerHTML = '<input type="text">
所做的操作无法通过主<form>
的$_POST
变量访问
所以基本上我通过Javascript添加,这样我就可以填充它们并将它们保存在数据库中。但是$_POST值为空。Javascript代码运行良好。我不知道从哪里开始调试。
以下是我使用的一些Javascript代码
function insert_record(){
var my_table = document.getElementById('my_table')
var tr = my_table.insertRow(my_table.rows.length-1)
//id-ul curent, numar toate row-urile - 1 (care este butonul OK)
var c_id = my_table.rows.length-2
tr.id = 'row_' + c_id + ''
var tr_td_1 = tr.insertCell(0)
tr_td_1.className = 'text2'
tr_td_1.align = 'center'
tr_td_1.innerHTML = 'SKU'
var tr_td_2 = tr.insertCell(1)
tr_td_2.className = 'text3'
tr_td_2.width = '63'
tr_td_2.innerHTML = '<input name="sku_' + c_id + '" type="text" id="sku_' + c_id + '" size="33" value="">'
这会在最后一个包含提交按钮的表之前在表中添加一个,之后是
您需要为元素分配一个标签。然后你们就可以在下一页中找到它。
尝试使用而不是innerHTML = <input type="text">
<script>
function addElement(tag_type, target, parameters) {
//Create element
var newElement = document.createElement(tag_type);
//Add parameters
if (typeof parameters != 'undefined') {
for (parameter_name in parameters) {
newElement.setAttribute(parameter_name, parameters[parameter_name]);
}
}
//Append element to target
document.getElementById(target).appendChild(newElement);
}
</script>
您可以在下面调用此函数,单击偶数或手动addElement('INPUT','targetTag',{id:'my_input_tag', name:'my_input_tag', type:'text', size:'5'});
您应该给出name属性。如果您担心字段的数量不受限制,只需选择输入变量的数组,
像这个
<input type="text" name="field1[]">
现在你可以在这样的帖子中访问它们:
$_POST['field1'] //this is an array of fields
编辑:
首先,您应该使用一些类似jquery的库,这样可以简化工作。
我建议您确保您的所有字段都在form
中,并且您已经为所有字段命名了,而不是尝试ajax
或@shail建议的函数。
在我看来,他们并没有解决这个问题,只是在回避它
- 正在检测导航到<a name=“;最新主题”></a>
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在<script src=“"></脚本>标签
- 等效于<script src=“;something1.json”></脚本>
- CSS/.JS问题,<ul><李>在Megamenu中
- 如何在<td></td>在Procractor中
- 显示“<script src='some.js'></脚本>"在Html文档中
- 如何将Array转换为<ul><李>以字母为标题的字母列表
- <script src=“//代码.jquery.com/jquery-1.11.1.min.js”></
- 选择<脚本></脚本>作为html正文中的纯文本
- 可折叠<UL><李>不起作用
- $.mobile.loadPage()和$(“linkBtn”).click();t负载<头部></头部&
- <脚本/>vs<脚本></脚本>webpack和angular
- Javascript/RRails-如何包装link_to而不是<a></a>在javascript
- jQuery在处理<选择><选项>
- 布局lt md已被弃用.请使用`layout gt-<xxx>`变种
- 在<%%中定义的访问变量>从<脚本></脚本>
- 页面设计<a href><按钮><输入>在JSP中
- 注入html标记<ul></ul>在我的<李></李>元素
- jQuery选择器<按钮></按钮>