2012-05-11 11 views
1

私はいくつかの入力、検証ボタンといくつかのリンクを持つページを持っています。クリックしたリンクをたどる前にフォームを送信

私はリンクをクリックすると、リンクをたどる前にフォームが送信されます(データが保存されます)。

リンククリックイベントでjquery form.submit()を使用しようとしましたが、データは保存されません。 form.submit()の前にevent.preventDefault()を使用すると、データは保存されますがリンクは開かれず、代わりに送信ボタンのアクションリンクが開きます。

どうすればいいですか?

+1

のためのAjaxを使用する必要があります。私は答えを提供します – SpYk3HH

答えて

2

あなたは、リンクをたどる、フォームを送信し、その後e.preventDefaultを()を使用して試してみて、この機能

<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

これは私が最初に書いたもので、脳のおならを持っています。lol – SpYk3HH

+0

ajaxでうまくいきました。 –

関連する問題