在一个数据库中插入多个文本框的数据
Inserting data of multiple textbox in one database filed
<script type="text/javascript">
var i = 1;
function generateRow() {
var d=document.getElementById("div");
d.innerHTML+="<p><input type='text' name='[Post][textbox1][" + i + "]'>";
i = i + 1;
}
<?php $this->Form->input('textbox1',array(
'type' => 'textbox',
'label' => false,
'required')); ?>
<div id="div"></div>
<input type="button" value="Add" onclick="generateRow()"/>
文本框的 Html 1
<div class="input textbox"><input name="data[Post][textbox1]"
required="required"type="textbox" id="PostTextbox1"/></div>
当我单击"添加"按钮时,它会生成带有name="[Post][textbox1][1]"
的新文本框我可以在该框中输入数据,但是
问题 1
当我再次单击添加按钮时,它将重置所有文本框,我必须再次输入这些数据
问题 2
$tbVal = $this->request->data['Post']['textbox1'];
$inn = implode(',',$tbVal);
当我使用此代码从文本框内爆数据时,它只显示第一个数据
这是一个基于第一个答案和我的答案的工作示例:
<script type="text/javascript">
var i = 1;
function generateRow()
{
//Create an input type dynamically.
var element = document.createElement("input");
//Assign different attributes to the element.
element.setAttribute("type", "text");
element.setAttribute("value", "");
element.setAttribute("name", "data[Post][textbox][" + i + "]");
var foo = document.getElementById("fooBar");
//Append the element in page (in span).
foo.appendChild(element);
i = i + 1;
}
</script>
<form>
<div id="fooBar" class="input textbox">
<input name="data[Post][textbox][0]" required="required" type="textbox" id="PostTextbox1"/>
</div>
<input type="button" value="Add" onclick="generateRow()"/>
<input type="submit" >
</form>
<?php
print_r($_REQUEST);
?>
您必须使用 DOM 操作 javascript 函数来不重置文本值并为文本框使用正确的名称
您已经重置了div中的所有数据document.getElementById("div")
在那里重置文本框中的所有数据。
尝试:
//Create an input type dynamically.
var element = document.createElement("input");
//Assign different attributes to the element.
element.setAttribute("type", type);
element.setAttribute("value", type);
element.setAttribute("name", type);
var foo = document.getElementById("fooBar");
//Append the element in page (in span).
foo.appendChild(element);
单击按钮时
关于问题 2
此代码:
d.innerHTML+="<p><input type='text' name='[Post][textbox1][" + i + "]'>";
必须
d.innerHTML+="<p><input type='text' name='data[Post][textbox1][" + i + "]'>";
相关文章:
- 将文本插入光标所在的文本区域
- 从 AngularJS 将文本插入 HTML
- 如何在 javascript 中使用 .html() 将 html 作为文本插入
- 如何将文本插入到几个带有 id 的文本区域中的一个文本区域中
- 将文本插入<text区域>
- 如何将翻译后的文本插入数据库 php
- 在 JavaScript 中,将文本插入字符串的最简单方法是什么?
- 将文本插入到其他页面上的文本区域中
- 如何将文本插入到由 raphaeljs 创建的节点中
- 纯Javascript将文本插入中,不带属性
- Chrome 扩展程序:点击弹出窗口中的按钮时,将文本插入文本字段
- 通过查询将文本插入文本区域
- 单击链接并将隐藏字段中的文本插入输入字段超过 1 次,然后替换输入字段中的文本
- 使用 jQuery/Javascript 将鼠标悬停在按钮上时将文本插入文本和帮助文本
- 需要解决方案在 NicEdit 将 HTML 文本插入实例
- 如何将HTML文本插入jQuery
- 使用javascript为谷歌chrome扩展插件将文本插入文本区域
- 按钮点击文本插入
- 防止移动默认键盘同时保留文本插入光标
- jQuery:将格式化的文本插入文本区域