Jquery问题:如何分解多部分表单,以便一次只能看到一个字段集?

时间:2009-03-04 18:41:24

标签: javascript jquery jquery-plugins webforms

我对XHTML& amp; CSS,但PHP& Javascript对我来说看起来很神奇。

我正在使用基于PHP的Textpattern CMS构建讨论站点。当用户登录时,他们可以使用公共端表单添加新的讨论主题。有许多输入字段,由单个fieldset元素中的HTML form元素分组,该元素将新行添加到特定数据库表。我想要做的是一次只显示一个字段集,插入上一个下一个链接,这些链接将允许人们之间导航字段集

Textpattern与jquery捆绑在一起,我找到了jquery plugin that describes this functionality。但我无法让它发挥作用。

以下是我在文档head中的内容:

<style type="text/css" media="screen">
    fieldset {display: none;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script type="text/javascript" src="http://site.url/scripts/jquery.babysteps-0.2.1.js"></script>
<script type="text/javascript" language="javascript">
    $('#step1').bindStep('#step2');
    $('#step2').bindStep('#step3');

    $('#step1').show();
</script>

我的表格是这样的:

<fieldset id="step1">
    <legend>Step 1 Fields</legend>
    <!-- fields -->
</fieldset>
<fieldset id="step2">
    <legend>Step 2 Fields</legend>
    <!-- fields -->
</fieldset>
<fieldset id="step3">
    <legend>Step 3 Fields</legend>
    <!-- fields -->
</fieldset>
<input type="submit" value="Post this Article!" />

结果是style声明隐藏每个 fieldset,但脚本根本不会显示step1。我已经仔细检查了所有文件路径,我尝试使用链接到我的本地jquery包而不是谷歌版本,但我得到了相同的结果。

如果能让这个工作变得有效,我会很高兴,但如果没有babysteps插件有另一种方法可以达到这个目的,我也会对这个结果感到满意。

我们非常感谢您提供的任何指导或具体建议!分步说明或实际的故障排除问题(您是否已插入计算机?)也可能有所帮助。

提前致谢!

2 个答案:

答案 0 :(得分:2)

我不确定那个特定的插件,但只是jquery:

$(function(){

    $('#gotoStep2').click(function(){
        $('#step1').hide();
        $('#step2').show();
        return false;
    });

});

你有

的地方
<input type="button" id="gotoStep2" value="next &raquo;"/>

在第1步中

和你的css:

#step2, #step3 //etc
{
    display: none;
}

我确定你可以解决所有步骤的重复问题:)

答案 1 :(得分:0)

<script type="text/javascript" language="javascript">
  $(function(){
    $("#step1").bindStep("#step2");
    $("#step2").bindStep("#step3");

    $("#step1").show();
  });
</script>

如果这不起作用,请放弃插件。 (说真的,甚至那个页面上的演示都没有。)