我有一个管理页面,可以在其中动态添加和删除表行。 该页面加载了数据库中的现有数据(主要包含 sku_code 和 5 个不同的价格),但是当我动态添加行并用相应的 sku 和价格填充它们时,我想将它们也保存在数据库。
问题是我在客户端使用 Javascript 执行的操作(动态添加表行) innerHTML = '<input type="text">
无法通过 $_POST
访问主变量<form>
所以基本上我通过 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'});
关于php - 需要从已附加 Javascript 的 <form> 访问 <input> 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262367/