여기에 문제가 있습니다.탭이 새 창에서 양식을 제출하는 이유는 무엇입니까?
저는 Tabs
(위젯 jqueryUi)을 사용하고 있습니다.
모두 제대로 작동하는 것처럼 보일 수도 있지만 때로는 양식 (Tab 내부)을 제출할 때 결과가 창에 나타나며 tabdiv에는 나타나지 않습니다.
나는 그것을 원하지 않는다. 클라이언트는 웹 시스템에 있어야한다.
나는 이미 target="_self"
을 양식에 넣으려고했지만 때때로 문제가 계속 발생합니다.
var $tabs = $("#main").tabs({
tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close notext inline'>Remove Tab</span></li>",
idPrefix: "tab_",
add:function(e, ui){
$tabs.tabs('select', '#' + ui.panel.id).show("blind");
$j("#list_tabs .ui-icon-close:last").on("click", function(e, elemento) {
var index = $("li", $("#main").tabs()).index($(this).parent());
$("#main").tabs("remove", index);
desativarItemSubmenu($('#' + $(this).parent()[0].id.replace('tab_', '')));
});
},
select: function(event, ui){
var id = $(ui.tab).parent()[0].id;
if(id)
ativarItemSubmenu($('#' + id.replace('tab_', '')));
},
cache:true,
ajaxOptions: {async: false,cache: false}
})
$(".anchor").live("click", function(){
if("<?php echo $this->session->userdata("cod_usuario") ?>" == ""){
window.location.reload;
}
var url = this.rel;
var tab_title = this.text;
var tab_id = "tab_"+this.id;
if(!$('#' + tab_id).length){
if($('#main').tabs('length') > 3)
$("#main").tabs("remove", 3);
$("#main").tabs("add", url, tab_title);
$("#list_tabs li:last").attr("id", tab_id);
$("#list_tabs li:last").addClass("active");
}
else{
$('#main').tabs('option', 'selected', $('#' + tab_id).index());
}
})
// Remove a tab clicando no "x" (remove tab by click on "x")
$("#main span.ui-icon-close").live("click", function() {
var index = $("li", $("#main").tabs()).index($(this).parent());
$("#main").tabs("remove", index);
});
'live'는 1.7에서 더 이상 사용되지 않으며 jQuery 1.9에서 제거되었습니다. 그것을 사용하지 말고'on()'을 사용하십시오. – epascarello
epascarello, 저는 시스템에서 jquery-1.5.1을 사용하고 있습니다. 그래서 제 생각에는 그렇게 생각하지 않습니다. –
아, 2011 년 출시. 업그레이드하고 싶을 것 같습니다. ;) – epascarello