首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过查询将动态表单数据从javascript保存到数据库

如何通过查询将动态表单数据从javascript保存到数据库
EN

Stack Overflow用户
提问于 2011-03-04 07:14:07
回答 1查看 5.5K关注 0票数 0

因此,我有一个脚本,它生成动态表单内容,并且每个输入都有一个名称"field-1“、"field-2”等,直到脚本创建了最后一个输入。

如何将表单保存到数据库中?

我只知道如何以一种传统的方式做到这一点,即你做5个静态输入,给它们静态的名称和ids,然后使用post或get go来制定mysql_query。

但在我的例子中,输入的范围可以是3- 200个输入。并且每一个都有一个类似的名称/id "field+num++“

我的html代码:

代码语言:javascript
复制
<form id="myForm">

我的JS代码将附加到我的HTML表单:

代码语言:javascript
复制
var $int = $('div.int');
$int.html(function(i, html) {
    return html.replace(/(\d+)(.+)/,function(str,s1,s2){
        var text = s2.split('.');
        var text2 = text[1].split('-');
        var text3 = text2[1].split(' ');
        return '<input class="r" name="scene-"' + s1 + ' value="'+ s1.replace(/^\s*/, '').replace(/\s*$/, '') +'" />' +
        '<input class="r" name="int_ext-"' + s1 + ' value="'+ text[0].replace(/^\s*/, '').replace(/\s*$/, '') +'" />' +
        '<input class="r" name="scene_desct-"' + s1 + ' value="'+ text2[0].replace(/^\s*/, '').replace(/\s*$/, '') +'" />' +
        '<input class="r" name="day_night-"' + s1 + ' value="'+ text3[1].replace(/^\s*/, '').replace(/\s*$/, '') +'" />';
    });
});

我的HTML代码:

代码语言:javascript
复制
<input type="submit" value="Submit" />
</form>

示例输出为:

代码语言:javascript
复制
<input type="text" class="r" name="scene-1" value="1" />
<input type="text" class="r" name="int_ext-1" value="INT" />
<input type="text" class="r" name="scene_desct-1" value="Bedroom" />
<input type="text" class="r" name="day_night-1" value="DAY" />

<input type="text" class="r" name="scene-2" value="2" />
<input type="text" class="r" name="int_ext-2" value="EXT" />
<input type="text" class="r" name="scene_desct-2" value="Outside" />
<input type="text" class="r" name="day_night-2" value="DAY" />

<input type="text" class="r" name="scene-3" value="3" />
<input type="text" class="r" name="int_ext-3" value="INT" />
<input type="text" class="r" name="scene_desct-3" value="Bedroom" />
<input type="text" class="r" name="day_night-3" value="DAY" />

<input type="text" class="r" name="scene-4" value="4" />
<input type="text" class="r" name="int_ext-4" value="EXT" />
<input type="text" class="r" name="scene_desct-4" value="Bedroom" />
<input type="text" class="r" name="day_night-4" value="NIGHT" />

...

more are created on the fly with the script, this can make like 300 sets of these 4 inputs

然后我想做一些像这样的事情

代码语言:javascript
复制
mysql_query("INSERT INTO `table` (`scene_num`, `int_ext`, `scene_desct`, `day_night`) VALUES ('{$scene}', '{$int_ext}', '{$scene_desct}', '{$day_night}')");
EN

回答 1

Stack Overflow用户

发布于 2011-03-04 08:39:12

这里有一个很酷的技巧,你可以用HTML来做。像这样设置输入:

代码语言:javascript
复制
<input name="dynamic[]" value="fish" />
<input name="dynamic[]" value="cat" />
<input name="dynamic[]" value="dog" />
<input name="dynamic[]" value="moose" />

在PHP中,您可以像这样访问它们:

代码语言:javascript
复制
<?php
foreach($_POST['dynamic'] AS $key => $value) {
    doSomethingWith($value); # fish, cat, dog, moose
}
?>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5187811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档