2017-09-07 40 views
0

在xpage上我有一個對話框,我想從csjs打開。csjs onclick事件刷新我的xpage

在DDE KC因爲跟着它解釋: https://www.ibm.com/support/knowledgecenter/SSVRGU_9.0.0/com.ibm.designer.domino.ui.doc/extlib_controlref_dialog.html

所以我添加兩個按鈕。一個HTML和一個Button控件:

<button onclick="openDlgAction('1')">Open Dialog</button> 
<xp:button value="Open Dialog" id="button4"> 
    <xp:eventHandler event="onclick" submit="false"> 
     <xp:this.script><![CDATA[XSP.openDialog("#{id:dlgAction}")]]></xp:this.script> 
    </xp:eventHandler> 
</xp:button> 

這裏是我的對話框的呈現方式:

<span id="view:_id1:_id2:cbMain:dlgAction" style="display: none" title="Select Action"></span> 

爲了產生在我openDlgAction CSJS功能我通過腳本把它添加到XPAGE正確的ID塊。

這裏是它是如何在瀏覽器中呈現:

<script type="text/javascript"> 
function openDlgAction(unid){ 
    XSP.openDialog("view:_id1:_id2:cbMain:dlgAction") 
} 
</script> 

的按鈕控制下的功能呈現如下:

function view__id1__id2_cbMain__id319_clientSide_onclick(thisEvent) { 
XSP.openDialog("view:_id1:_id2:cbMain:dlgAction") 
} 

我不明白的是爲什麼Button控件作品(出現對話框),並在HTML按鈕下快速刷新頁面。

出於好奇,我增加了一個HTML按鈕,onclick事件也刷新的XPage:

<button onclick="alert('hi')">click me</button> 

我是什麼俯瞰?

回答

3

當您點擊「html按鈕」時,頁面會重新加載,因爲按鈕沒有指定按鈕類型。因此它被解釋爲提交按鈕。

使按鍵類型設置爲 '按鈕':

<button type='button' onclick="openDlgAction('1')">Open Dialog</button> 
+1

謝謝!對頭髮顏色產品也有任何推薦,今天過後有點灰: - ? –