jQuery:正在提交表单的动作?

时间:2009-04-12 21:44:08

标签: jquery

这是我的问题: 我有一个可选择的div网格,它们与唯一的类别ID相关联

我可能会重新编写网格,以便在选择时使用隐藏输入,但这有点晚了。

当提交表单(标准表单..没有ajax)时,我想将选定的ID收集到一个变量中。当我使用标准按钮和警告框进行测试时,下面的代码可以正常工作:

parentUID = "";
$('.cat_grid').each(function() {
  cat_parent = $(this).parent();
  if (cat_parent.attr('class')=="on") {
    parentUID += $(this).attr('id')+";";
  }
});

但是如何在点击提交按钮的时候点火?我假设将parentUID插入隐藏表单输入并使用某种延迟函数??

感谢您的回答!

2 个答案:

答案 0 :(得分:2)

怎么样:

 $(form).submit( function() {
   var parentUID = "";
   $('.cat_grid').each(function() {
    cat_parent = $(this).parent();
    if (cat_parent.attr('class')=="on") {
     parentUID += $(this).attr('id')+";";
    }
  });
  $(hiddenInput).val( parentUID );
  //don't return false because we wan't the form to be submitted
 });

答案 1 :(得分:0)

您可以在表单上使用onSubmit,并使用您拥有的代码调用函数GetParentUIDs(),并在隐藏字段中存储ID。您的GetParentUID必须返回true才能提交表单。

实施例

<form name="yourform" action="youraction" method="post" onsubmit="return GetParentUIDs();">