我必须为网站制作一个信息提交页面,在选择组合框值后,会有一些字段应该在值上生成。
如果我们选择" 2"从组合框的值,应生成两个个人详细信息字段。后来我必须在PHP的帮助下在数据库中检查这些值。
我必须对这些生成的字段进行验证。
有许多领域我必须使用类似的东西。但我必须从它开始。
请帮帮我,或者给我一些链接,我可以从中获得一些帮助。
感谢。
答案 0 :(得分:0)
首先,我建议您学习使用JQuery(javascript库)。
http://docs.jquery.com/Plugins/Validation
http://docs.jquery.com/UI/Autocomplete
我已经完成了与使用jquery UI自动完成,克隆,重新定位和验证功能描述的内容非常相似的事情,而且这一切都相对简单。基本上,你要做的就是在表单上使用jquery validate(一个jquery插件)),为你的组合框添加一个jquery UI自动完成功能,并拥有你可能希望隐藏的所有细节字段表格之外的div。当组合框发生变化时,它会调用一个根据需要销毁字段的函数,然后从表单外部克隆空白字段,填充它们(如果需要)并将它们插入到表单内的适当位置。验证器在class属性上运行,因此只需确保新字段具有正确的类就足以将它们包含在验证中。 Jquery及其插件几乎可以在标准的javascript中运行,因此它不应该很难集成。当你弄清楚如何做东西时会有一些旋转时间,但听起来你无论如何都会有相当多的东西,它会让你在中长期内变得容易多了
答案 1 :(得分:0)
我将假设您的组合将使用“.valueCount”标识,并且默认金额元素为1,可以在“.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());
}
});
在服务器端,您将拥有单个数组中的所有值$ _REQUEST ['dynamicfield'];
做你喜欢的任何验证。