让我的按钮类型=“提交”打开另一个手风琴

时间:2015-09-09 14:10:30

标签: javascript jquery html

在我使用Bootstrap3的网站上,我有一个有3个手风琴的页面。所有的手风琴都有字段和按钮,每个都有自己的过程。

我遇到的问题是当我从手风琴1中点击我的<button type="submit">时,我希望它能打开手风琴2(例如)。按钮必须在我的代码后面触发,以便在打开手风琴2之前终止在手风琴1中完成的过程。显然我不能使用<button type="button">,因为这不会在后面的代码中触发,我称之为{{1然后意识到我无法在后面的代码中解决这个问题。

我给出的一个解决方案是将<a>添加到按钮中虽然不支持,因为它会删除手风琴中的所有内容,因此我可以通过其他方式指导我的按钮触发代码以结束我的过程然后打开手风琴2。

可能需要在JavaScript / jQuery中完成,或者直接在HTML中完成我不知道。我更喜欢HTML,但我愿意接受所有建议。

我用Google搜索,我知道对于href,需要以下属性button type="button"

1 个答案:

答案 0 :(得分:1)

是的,你必须使用javascript(因为你已经使用手风琴)。我假设您使用jquery(当您使用Bootstrap时)。因此,解决方案是绑定事件以阻止提交(在表单提交或按钮单击时),并使用$.ajax()提交表单(如果您的表单包含一些上传过程,这可能很复杂。)

$("#your_form_id").on("submit", function(e){
  e.preventDefault();
  var url = $(this).action;
  var data = {};
  /* get your form datas here */
  $.ajax({
    url:url,
    data:data,
    /* use any of theses callback, or none 
     *if you don't care about the request is correct or not
     */
    success:function(res){},
    error:function(res){},
    complete:function(res){
       // call your second accordion here
    }
  })
});

或者,您可以使用<input type="button">并执行相反的工作:将事件绑定到它以触发提交,或者只是启动手风琴或其他任何内容。