Php 使用Javascript根据组合框的选择动态添加表单字段

Php 使用Javascript根据组合框的选择动态添加表单字段,php,javascript,html,validation,Php,Javascript,Html,Validation,我必须作出一个网站的信息提交页面,其中将有一些字段,应在选择组合框值后的值生成 就像我们从组合框的值中选择“2”一样,应该生成两个个人详细信息字段。稍后,我必须在PHP的帮助下在DB中插入这些值 我还必须对这些生成的字段进行验证 有许多领域,我必须使用类似的东西。但我必须从它开始 请帮助我,或者给我一些链接,我可以在那里得到一些关于这方面的帮助 谢谢。首先,我建议您学习使用JQuery(javascript库) 最后,我做了一些与您描述的使用jQueryUIAutoComplete、clo

我必须作出一个网站的信息提交页面,其中将有一些字段,应在选择组合框值后的值生成

就像我们从组合框的值中选择“2”一样,应该生成两个个人详细信息字段。稍后,我必须在PHP的帮助下在DB中插入这些值

我还必须对这些生成的字段进行验证

有许多领域,我必须使用类似的东西。但我必须从它开始

请帮助我,或者给我一些链接,我可以在那里得到一些关于这方面的帮助


谢谢。

首先,我建议您学习使用JQuery(javascript库)


最后,我做了一些与您描述的使用jQueryUIAutoComplete、clone、Resposition和validation功能非常相似的事情,这一切都相对简单。基本上,您要做的是在表单上使用jquery验证(jquery插件),为您的组合框添加一个jquery UI自动完成,并在表单外的隐藏div中包含所有可能需要包含的详细信息字段。当组合框更改时,它调用一个函数,根据需要销毁字段,然后从表单外部克隆空白字段,填充它们(如果需要),并将它们插入表单中的适当位置。验证程序在class属性上运行,因此只要确保新字段具有正确的类就足以将它们包含在验证中。Jquery及其插件几乎可以像标准javascript那样在任何地方运行,所以集成起来应该不会那么困难。当你弄清楚如何做事情时,会有一点启动时间,但听起来你无论如何都会有相当多的时间,而且从中长期来看,这会让事情变得容易得多。

我假设你的组合将被标识为“.valueCount”,默认的金额元素是一个,可以在“.field”下找到。它的通用容器由“fieldgroup”标识

第一个字段的名称必须设置为类似
dynamicfield[]
。将“dynamicfield”替换为您想要的任何内容

然后使用jQuery为第一个字段创建原型:

var $prototype = $(".field").clone();
请注意,
.field
可以是字段本身的通用包装器

现在为您的组合创建一个事件处理程序:

$(".valueCount").change(function(){
   var count = $(this).val(), $fields = $(this).closest("fieldgroup").find(".field");


   if ($fields.size() > count)
       //remove fields
       $fields.slice(count).remove();
   else if ($fields.size() < count) {
       //add fields

       for (var i = count - $fields.size() ; i ; i--)
            $prototype.clone().insertAfter($fields.last());
   }           

});
$(“.valueCount”).change(函数(){
var count=$(this.val(),$fields=$(this.closest)(“fieldgroup”).find(.field”);
如果($fields.size()>count)
//删除字段
$fields.slice(count.remove();
else if($fields.size()
在服务器端,您将在单个数组$_REQUEST['dynamicfield']中拥有所有值

做你喜欢的任何事