csjs onclick 事件刷新我的 xpage
csjs onclick event refreshes my xpage
在 xpage 上我有一个对话框,我想从 csjs 打开它。
在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 函数中生成正确的 ID,我通过脚本块将其添加到 Xpage。
这是它在浏览器中的呈现方式:
<script type="text/javascript">
function openDlgAction(unid){
XSP.openDialog("view:_id1:_id2:cbMain:dlgAction")
}
</script>
Button控件下的功能渲染如下:
function view__id1__id2_cbMain__id319_clientSide_onclick(thisEvent) {
XSP.openDialog("view:_id1:_id2:cbMain:dlgAction")
}
我不明白为什么 Button 控件可以工作(出现对话框)并且在 HTML 按钮下页面刷新很快。
出于好奇,我添加了另一个带有 onclick 事件的 HTML 按钮,该事件也刷新了 xpage:
<button onclick="alert('hi')">click me</button>
我忽略了什么?
当您单击 "html buttons" 时页面会重新加载,因为按钮没有指定按钮类型。因此它被解释为提交按钮。
所以设置按钮类型为'button':
<button type='button' onclick="openDlgAction('1')">Open Dialog</button>
在 xpage 上我有一个对话框,我想从 csjs 打开它。
在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 函数中生成正确的 ID,我通过脚本块将其添加到 Xpage。
这是它在浏览器中的呈现方式:
<script type="text/javascript">
function openDlgAction(unid){
XSP.openDialog("view:_id1:_id2:cbMain:dlgAction")
}
</script>
Button控件下的功能渲染如下:
function view__id1__id2_cbMain__id319_clientSide_onclick(thisEvent) {
XSP.openDialog("view:_id1:_id2:cbMain:dlgAction")
}
我不明白为什么 Button 控件可以工作(出现对话框)并且在 HTML 按钮下页面刷新很快。
出于好奇,我添加了另一个带有 onclick 事件的 HTML 按钮,该事件也刷新了 xpage:
<button onclick="alert('hi')">click me</button>
我忽略了什么?
当您单击 "html buttons" 时页面会重新加载,因为按钮没有指定按钮类型。因此它被解释为提交按钮。
所以设置按钮类型为'button':
<button type='button' onclick="openDlgAction('1')">Open Dialog</button>