我正在使用包含不同类型表单的JQuery选项卡式菜单,当我选择位于不同选项卡下的不同表单并提交表单时,选项卡将跳转到默认选项卡而不是表单所在的当前选项卡英寸
我想知道如何解决此问题,以便在提交表单时仍然选择当前选项卡,是JQuery还是PHP问题?
这是JQuery。
$(document).ready(function() {
//When page loads...
$(".form-content").hide(); //Hide all content
var firstMenu = $("#home-menu ul li:first");
firstMenu.show();
firstMenu.find("a").addClass("selected-link"); //Activate first tab
$(".form-content:first").show(); //Show first tab content
//On Click Event
$("#home-menu ul li").click(function() {
$("#home-menu ul li a").removeClass("selected-link"); //Remove any "selected-link" class
$(this).find("a").addClass("selected-link"); //Add "selected-link" class to selected tab
$(".form-content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the selected-link tab + content
$(activeTab).fadeIn(); //Fade in the selected-link ID content
return false;
});
});
答案 0 :(得分:0)
当你提交表单页面刷新时,它会将数据发送到服务器,而javascript只保留页面上的起始位置Load!
如果你想达到你想要的效果,你必须做一个AJAX呼叫!
你也可以使用像这样的插件
恕我直言,你需要从头开始使用AJAX!
所以阅读本教程!
基本上你的表格看起来像这样:
<form methot="POST" action="yourphppage.php" name="myform" id="myform">
<input type="text" value="" id="username" />
你需要通过这样的方式将数据传递给AJAX!
$('#myform').submit(function() {
var username = $('username').val();
$.ajax({
type: "POST",
url: "yourphppage.php",
data: "action=postdata&username=" + username,
success: function(data){
// at this point if all is ok you
//receive data back and you can do other stuff!
// data is what you keep back from server (php)
$('#your_div_that_hold_ajax_responce').html(data);
}, error: function(data){
alert('something goes wrong!');
}
});
});
你的PHP代码看起来像这样:
if ( isset( $_POST['action'] ) ) {
switch($_POST['action']) {
case 'postdata':
echo $_POST['username'];
break;
}
}