获取没有id或名称的表单的引用

时间:2010-12-19 01:20:23

标签: javascript jquery

我正在开展一个项目,我需要回忆一下表格中输入的字段,以便稍后重新填充。当表单有名称时,我可以记住它,然后使用一些JavaScript(document.getElementsByName(...)[0])来访问它。但是,如果没有名字......我不知道如何在以后获得对它的引用。

我正在使用jQuery,但我也对JavaScript解决方案持开放态度。一个想法是记住表单的索引。所以,如果它是document.forms [3],那么后来我可以使用索引。但是,当有人提交表单时,我如何知道表单的索引? (注意:当页面加载以捕获活动时,我会盲目地向所有表单添加提交处理程序。)

2 个答案:

答案 0 :(得分:2)

不是将事件附加到提交按钮,而是直接将其附加到<form>元素,如下所示:

$("form").submit(function() {
  //do something with this
  //this == the form element being submitted
});

或...在您当前的事件处理程序中,使用.closest()获取最近的父<form>元素:

$(":submit").click(function() {
  var form = $(this).closest("form");
});

答案 1 :(得分:0)

如果您不想在所有form上使用索引(因为有人可能会在任何地方添加表单),您可以使用其周围环境作为参考...例如。

$('#content').parent().next().find('form')