【问题标题】:how do i create a auto adaptive form [closed]我如何创建自动自适应表单[关闭]
【发布时间】:2014-06-21 00:22:23
【问题描述】:

我想在我的网站上创建一个动态表单。

在我的网站上有几个特定主题的表格,但我也有一个带有主题下拉列表的联系我们表格,他们可以从中选择主题特定表格涵盖的任何主题。

现在,如果他们选择网站设计查询,我需要询问他们的网址,而网址与所有其他查询主题无关,如果他们询问网站托管,我再次需要他们的网址,但也需要他们的托管包的偏好。

如果他们询问移动应用程序开发,我不需要网站或托管包字段,但需要显示 4 个复选框,以便他们勾选与要为其开发移动应用程序的平台相关的选项。

所以它需要自动适应所选的查询类型。

我怎样才能做到这一点?

【问题讨论】:

  • 您可以使用Javascript动态添加/删除/更改页面上的元素。
  • 您乐意使用 javascript 或 jQuery 吗?您对答案有什么期望,示例代码或选择实现此目标的语言,或者可能提供实现的示例网站......?

标签: html forms dynamic


【解决方案1】:

您可以使用 jQuery 来实现。

您需要在下拉选择中添加 jQuery 更改侦听器。然后根据所选值将表单元素添加到容器中。

这是一个小例子

$( ".select" ).change(function() {
    var value = this.val();
    if(value == "webDesign")
    {
        $("#fieldsContainer").append('<input name="webUrl" class="inputField"/>');
    }
});

你也可以改变action url accroding to select Value,这样处理不同的表单会更容易

if(value == "webDesign")
{
     $("form#myForm").attr('action','process.php?type=webdesign');
}

【讨论】:

    【解决方案2】:

    你的问题很模糊,但答案是有很多方法可以实现。最常用的方法之一是使用 javascript(或使用 js 的 jQuery 之类的库)。

    我已经为你准备了一个基本函数,它将展示它是如何在纯 js 中完成的:

    HTML:

    Services: <select id="service">
        <option value="stuff">stuff</option>
        <option value="webdesign">webdesign</option>
    </select><br />
    <span id="webname">Website: <input type="text" /></span>
    

    JS:

    document.getElementById("service").onchange = function () {
        if (document.getElementById("service").options[document.getElementById("service").selectedIndex].value == "webdesign")
            document.getElementById("webname").style.display = "none";
        else
            document.getElementById("webname").style.display = "block";
    }
    

    这里是上述代码的演示页面:http://jsfiddle.net/w3pGr/

    【讨论】:

    • 我试图这样做,但它不起作用所以这是我的代码###JS: html 代码转到admiralsystems.co.uk/Contact%20Us.html 并查看源代码
    • “不工作”不是错误的定义或任何真正的东西......什么不工作/你期望发生什么?另外,不要在注释中包含代码,这不是它的地方;你想让我用它做什么?
    • 好的,当时它不起作用,因为我将脚本放在头部区域我现在将脚本放在正文中,它有点工作,但我现在需要的是选择字段的默认值是“一般查询”,因此这些字段需要在加载时隐藏,但在选择框更改为正确值时出现。但我也在这种情况下使用表格,标题在一个 tr 上,字段在下一个,两者都必须消失,直到选择正确的下拉选项。
    • 我们建议反对像您这样的一般性问题的原因之一是停止像这样的无休止的 cmets……这(无论喜欢与否)不是一个教程页面,而是一个问答页面,其中您将获得针对特定问题的帮助...所以要么再问一个问题,要么再搜索一下...
    • 我很欣赏你的说法,但如果你不能直接帮助我,你至少可以将我指向一个页面或特定个人,我可以私下与他们沟通以解决这个问题。我不知道在哪里可以找到您所做的答案,这就是为什么我一遍又一遍地发布这个问题。
    猜你喜欢
    • 1970-01-01
    • 2012-07-02
    • 2013-03-27
    • 2012-03-28
    • 2017-05-20
    • 2015-01-25
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多