2010-03-18 105 views
0

我正在使用一个JQuery选项卡式菜单,它包含不同类型的表单,当我选择位于不同类型的选项卡下的不同表单并提交表单时,选项卡将跳转到默认选项卡,而不是表单所在的当前选项卡JQuery选项卡导航菜单和PHP表单问题?

我在想如何解决这个问题,这样当表单被提交时,当前标签仍然被选中,是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

是,当你提交一个表单页面刷新的原因,而是将数据发送到服务器,和javascript保持在页面加载简单的起始位置!

如果你想达到你想要的,你必须做一个AJAX调用!

你也可以使用一些插件这样

http://www.mikage.to/jquery/jquery_history.html

恕我直言,你需要从头开始AJAX!

所以请阅读本教程!

http://php4every1.com/tutorials/jquery-ajax-tutorial/

基本上你的形式是这样的:

<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; 

} 
} 
+0

是否有可能与jQuery? – SlAcKeR 2010-03-19 00:10:51

+0

当然有可能让我有时间向你发布一些其他的代码! – 2010-03-19 00:13:14