2012-05-11 179 views
1

我有一個頁面有幾個輸入,驗證按鈕以及一些鏈接。提交表單之前點擊鏈接

我想要有以下行爲:當用戶點擊一個鏈接時,在鏈接之前提交表單(數據被保存)。

我試圖在鏈接點擊事件上使用jquery form.submit(),但數據沒有保存。 如果我在form.submit()之前使用event.preventDefault(),數據將被保存但鏈接未打開,則會打開提交按鈕的操作鏈接。

我該怎麼做?

+1

嘗試,然後提交表單,然後按照鏈接。我將以 – SpYk3HH

回答

2

你需要使用e.preventDefault()使用Ajax這個功能

<a href="somepage.html" class="link">Link</a> 

$(document).ready(function(){ 
$('.link').click(function(e){ 

var href = $(this).attr('href'); 
e.preventDefault(); 
//do ajax for saving the data-- refer jquery ajax 

$.ajax({ 
     url:'your form action', 
     type:'post', 
     data:anydata to send 
    success:funtion(msg){ //return a value ok if form saved or fail if form not saved 
    if(msg == 'ok'){ 
    location.href = href; //just redirect 
     }  
    } 

});  
}); 

}); 
+0

爲例給出一個答案如果你想通過ajax保存表單的幫助,請點擊這裏 – coolguy

+0

這就是我原來的想法,然後有一個腦屁,大聲笑 – SpYk3HH

+0

與ajax一起工作,感謝提示。 –

相關問題