PreSaveAction没有开火

时间:2011-09-02 14:09:18

标签: javascript sharepoint-2010

知道为什么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 个答案:

答案 0 :(得分:0)

您在脚本的jquery部分缺少'#'。当您通过id引用元素时,您必须在id前面加上一个“#”。

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

但我怀疑脚本会按预期运行,除非您删除“&lt; input ...&gt;”标签。至于我,Chrome和IE9都无法完成这项工作。只有FF6会忽略标记。