假设我的页面上有这样一个部分:
<div style="padding-top:10px;" id="message2">
<p>More Links: <span class="fa fa-plus add"></span></p>
<div class="appending_div">
<div class="blog_links">
<p class="blog_linku_1">
Link URL 1: <input type="text" name="blog_linku_1[]"> Link Name 1: <input type="text" name="blog_linkn_1[]">
</p>
</div>
</div>
它基本上包含两个输入字段,其中一个输入名为
blog_linku_1[]
作为Blog Link URL,另一个输入名为blog_linkn_1[]
作为Blog Link Name。如您所见,我添加了一个加号(+)来添加多个输入,就像这两个输入一样。
可以执行此操作的脚本在此处:
$(document).ready(function() {
var i = 2;
$('.add').on('click', function() {
$('<p class="link'
+ i
+ '">Link URL '
+ i
+ ': <input type="text" name="blog_linku_'
+ i
+ '[]"> Link Name '
+ i
+ ': <input type="text" name="blog_linkn_'
+ i
+ '[]"> <span class="fa fa-minus minus" id="minus'
+ i
+ '"></span></p>'
).appendTo('.appending_div');
i = i+1;
});
$('.appending_div').on('click.remove', '.minus', function () {
$(this).parent().remove();
});
})
如果您在此处提到,它将仅添加名称为
新段落标记中的
name="blog_linku_'+ i+ '[]"
和name="blog_linkn_'+ i+ '[]"
。现在我的问题是,如何将这些输入字段存储到db中?
我的意思是因为我不知道用户要在表中插入多少个输入字段,所以我无法调整任何变量。
因此,如果您知道答案,请告诉我。.非常感谢你们的任何想法或建议。
提前致谢
最佳答案
长话短说,您需要使用关系表。 Implementation for tag based mail system by JOINS using MySQL Database的更多信息。处理这种多种数据的另一种方法是使用JSON fields。您可以为单个字段使用可变数量的数据,并且可以使用json_decode()
函数在PHP中对其进行解析。
存储它时,请使用json_encode()
将其存储为编码的JSON:
$json = json_encode($_POST["blog_linku_1"]);
在解码时,可以使用以下命令将其作为数组在PHP中获取:
$arr = json_decode($row["blog_linku_1"], true);
这个选项对您来说听起来更好吗?在评论中让我知道,如果没有,我可以在这里指导您实施...
:)
关于javascript - 如何自动存储多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50926395/