如何使用jquery部分重置表单?

时间:2010-12-17 09:43:57

标签: jquery forms

我有一个表格分为几个divs。我使用jquery来显示相关部分,并在点击页面的下一个按钮时隐藏该部分以显示下一个部分。

由于它是部分表单,我只需要重置表单的一部分。

用户选择一个类别,然后转到下一页,选择一个子类别并继续。下一页是一个申请表,但是用户决定更改子类别,因此他返回页面并更改子类别。

在这种情况下,表单需要重置应用程序表单部分,但所选类别必须保持不变。

表单分为不同的部分,其中div和表的id在jquery事件中使用。但我无法为每个页面创建不同的表单。

1 个答案:

答案 0 :(得分:4)

那么,您不想使用服务器端逻辑重置这些部分吗?我对么? 假设您能够检测到用户来自哪里的页面,并且只需要重置相应的部分,我将如何思考: -

定义用于获取子部分(用于重置)的函数,如下所示: -

//These two functions return the ids of the divs which need to be ignored
function getApplicationPart()
{
  //Assuming there are multiple sections to be reset
  var sections = ["Banana", "Orange", "Apple", "Mango"];
  return sections;
}

function getSubCategoryPart()
{
  var sections = ["Potato", "Onion"];
  return sections;
}

定义一个将执行必要重置的函数

function resetSections(sectionsArray)
{
    $.each(sectionsArray, function(index, value) { 
        //reset the values of all child input tags (inputs inside the section holding div)
        $("#"+value).children("input").val("");
    });
    //define any other hiding thing you need to do here
}

现在,您只需决定要重置哪些部分并相应地调用resetSections()函数。像这样: -

if((subcategoryPage)&&(comingfromApplicationPage))
{
     resetSections(getApplicationPart());
}

希望这有帮助。