2011-09-02 28 views
0

なぜpreSaveActionがリダイレクトするのかレコードを追加し、ユーザーをサーベイの感謝のページに連れていかなければなりません。PreSaveActionが起動しない

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
// old handler: 
var oldHandler = function() { 
if (!PreSaveItem()) return false; 
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00_m_g_4bde870c_7fcd_4f61_b446_e287f846faf3_ctl00_toolBarTbltop_RightRptControls_ctl01_ctl00_diidIOSaveItem", "", true, "", "", false, true)); 
}; 
// remove old and add new handler: 
var newHandler = function() { 
if (!PreSaveItem()) return false; 
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00_m_g_4bde870c_7fcd_4f61_b446_e287f846faf3_ctl00_toolBarTbltop_RightRptControls_ctl01_ctl00_diidIOSaveItem", "", true, "", "", false, true)); 
window.location.replace("/surveys/Pages/ThankYou.aspx"); 
return true; 
}; 
$("#ctl00_m_g_4bde870c_7fcd_4f61_b446_e287f846faf3_ctl00_toolBarTbltop_RightRptControls_ctl01_ctl00_diidIOSaveItem").unbind('click', oldHandler).click(newHandler); 
}); 
</script> 
+1

jquery-hrefの先頭にある一重引用符が誤植ですか? – Andreas

+0

...そして、なぜJavaScript関数内に入力ボタンがありますか?あなたのコードは確実に実行されますか? –

+0

私はタイプミスをしました。私はコードが実行されると思いますが、最後にアラートを追加したためにポップアップしました。 –

答えて

0

スクリプトのjquery部分に「#」がありません。 idで要素を参照するときは、idの前に '#'を付ける必要があります。

$("#ctl00_m_g_f46a290b_d993_4347_a2da_868aff18de82_ctl00_toolBarTbltop_RightRptControls_ctl01_ctl00_diidIOSaveItem").unbind("click", oldHandler).click(newHandler); 

しかし、私は期待どおりには「<入力... >」タグを削除しない限り、スクリプトは、実行されます疑います。私にとっては、ChromeもIE9もその仕事をしません。 FF6だけがタグを無視します。

+0

あなたが言ったようにコードを更新しましたが、現在はリダイレクトするだけで動作しています。レコードを追加して、ユーザーを感謝のページに連れていかなければなりません。 –

関連する問題