Javascript 使我的按钮类型为“";提交;打开另一个手风琴
在我使用Bootstrap3的网站上,我有一个页面,上面有3个手风琴。所有的手风琴都有字段和按钮,每个都有自己的流程 我遇到的问题是,当我从accordion 1单击我的Javascript 使我的按钮类型为“";提交;打开另一个手风琴,javascript,jquery,html,Javascript,Jquery,Html,在我使用Bootstrap3的网站上,我有一个页面,上面有3个手风琴。所有的手风琴都有字段和按钮,每个都有自己的流程 我遇到的问题是,当我从accordion 1单击我的时,我希望它打开accordion 2(例如)。按钮必须在“我的代码隐藏”中触发,以便在打开“手风琴2”之前终止在“手风琴1”中完成的过程。显然,我不能使用,因为这不会在代码背后触发,我设计了一个,但后来意识到我无法在代码背后触发它 我得到的一个解决方案是将href添加到按钮中,尽管这不受支持,因为它会删除我手风琴上的所有内容,
时,我希望它打开accordion 2(例如)。按钮必须在“我的代码隐藏”中触发,以便在打开“手风琴2”之前终止在“手风琴1”中完成的过程。显然,我不能使用
,因为这不会在代码背后触发,我设计了一个
,但后来意识到我无法在代码背后触发它
我得到的一个解决方案是将href
添加到按钮中,尽管这不受支持,因为它会删除我手风琴上的所有内容,所以我可以通过什么其他方式引导我的按钮在代码中启动,以结束我的过程,然后打开手风琴2
也许它需要在JavaScript/jQuery中完成,或者直接在HTML中完成,我不知道。我更喜欢HTML,但我愿意接受所有建议
我在谷歌上搜索过它,我知道对于一个
按钮type=“button”
来说,以下属性是必需的data toggle=“collapse”data parent=“NameOfMyParent”
是的,你必须使用javascript(就像你已经用手风琴做的那样)。我假设您使用jquery(就像使用引导一样)。因此,解决方案是绑定一个事件以阻止提交(在表单提交或单击按钮时),并使用$.ajax()
(如果表单包含一些上载过程,这可能会很复杂)
或者,您可以使用
并执行相反的工作:将事件绑定到它以触发提交,或只是启动手风琴,或其他任何操作。修复。我所需要做的就是将id
添加到面板主体
,然后使用数据目标在我的按钮中引用它
是,你需要使用一些JQuery和AJAX来提交表单,使用一些简单的javascript/JQuery来进行手风琴切换——尽管这部分也可以用HTML5来完成。你能提供一个提琴吗?@Anudeprentala你能提供一些我可以解决的问题吗。根据谷歌的说法,该按钮还需要以下属性才能正常工作,但我只在一个按钮type=“button”
数据切换=“collapse”data parent=“NameOfMyParent”
中找到了这些属性,您可以在属性上使用这些属性,仍然可以实现您想要的功能。请参考@Asenar的答案。您基本上遵循这些说明,并在按钮上附加一个click事件处理程序,如:$(“#yourbutonid”).on(“click”,function(e){//您的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
}
})
});