2017-06-19 56 views
0

我引用了here,但提供的解決方案不適合我,因此我發佈了類似於此的問題。從子頁面的父頁面隱藏字段上的觸發事件

我有有一個隱藏的領域像下面父頁面:

<input type="hidden" name="reloadCalPreview" id="reloadCalPreview" value="0" runat="server" /> 

然後,我有扳機$(document).ready(function(){}}...如下創建:

$("#reloadCalPreview").on('reload-change', function() { 
    console.log('reload-change event triggered.'); 
    var reloadCalPreview = $("#reloadCalPreview").val(); 
    if (reloadCalPreview == "1") { 
    GetUserCalPreview(); 
    $("#reloadCalPreview").val("0"); 
    } 
}); 

所以這應該是觸發一次改變發生在隱藏的領域。

然後有兩種情況對我來說:

  1. 隱藏字段值將被從父頁改變
  2. 隱藏字段值將被從子頁面

改變對於方案1,我我正在使用以下代碼觸發reload-calendar事件:

function appAdded(){ 
    $("#resetCalendarRequired").val("1").trigger("reload-change"); 
} 

按預期觸發reload-change事件。

所以對於場景2,子頁面有一個函數調用是這樣的:

function manageEvent() { 
    var reloadCalPreview = $("#reloadCalPreview", window.parent.document); 
    reloadCalPreview.val("1").trigger("reload-change"); 
} 

但這並不觸發重載變化。

任何幫助非常感謝!

回答

0

你嘗試過這樣的:

function manageEvent() { 
    var reloadCalPreview = window.parent.document.getElementById('reloadCalPreview'); 

    // debug purpose, to make sure that the element is accessible 
    console.log("reloadCalPreview: " + reloadCalPreview); 

    // invoking the event 
    $(reloadCalPreview).val("1").trigger("reload-change"); 
} 
+0

是的,我的元素是可訪問的,但觸發沒有發生 –