小编J.D*_*Doe的帖子

XPages execMode部分删除DOM元素在渲染时

我的一个XPage上有一个fileUploader.我遇到的问题是当我尝试将它与xp.this.rendered属性一起使用时,它实际上删除了一个它应该更新的DOM元素.没有属性它运行得很好,但有时我只有在某些条件为真时才显示fileUploader:

这就是我的意思:enter image description here

我在这里做了什么:

  1. 打开一个步骤为1的页面(默认).它只是主div_main元素中的一个表(input_step是1)
  2. 在那里上传了一个文件
  3. 点击下一步按钮
  4. 它刷新div_main元素并将input_step组件值设置为2
  5. 显示第二个表(呈现的条件是rendered="#{javascript:getComponent('input_step').getValue()=='2'}")
  6. 我试图将文件上传到第二个表
  7. 然后是触发刷新按钮的代码(我将在下面发布)
  8. 它会将文件上传到服务器,但会删除它应该刷新并执行的DOM元素
  9. 然后,为了实现经验,我点击了"上一步",刷新了整个 div_main
  10. 但!而不是刷新div_main它没有做任何事情!它只刷新自己,但不会进入设置input_step为1 的代码.
  11. 当我再次单击"上一步"时,它会返回到它应该正常工作的第一步

我绝对没有IDEA为什么会这样.这真的很烦人,我从来没有遇到过这样一个令人毛骨悚然的问题.

这是 div_main

 <xp:div styleClass="doc_list" id="div_main">

        <xp:table style="width:100.0%">
            <xp:tr>
                <xp:td style="width:25.0%" align="center" valign="top"
                    styleClass="background">


                </xp:td>
                <xp:td id="content" styleClass="background_field">

                    <xp:table id="table_nav" style="width:100.0%">
                        <xp:tr>
                            <xp:td style="width:100.0%" align="center"
                                styleClass="background_field">



                                <xp:label id="label152"
                                    styleClass="doc_header_step_title">
<xp:this.value><![CDATA[#{javascript:var step=getComponent('input_step').getValue()

switch (step) {

case "1":
  return('Step1')
  break;
case "2":
  return('Step2')
  break;
case "3":
  return('Step3')
  break;
case "4": …
Run Code Online (Sandbox Code Playgroud)

javascript file-upload xpages ssjs

8
推荐指数
1
解决办法
196
查看次数

如何在XPage上删除PageLoad之前的HTML元素

我有一个XPage,可用于编辑或只是根据用户的角色阅读.现在我需要实现这个功能.解决方案非常简单 - 只需删除添加,编辑和其他HTML元素即可.问题是我只能在页面加载时执行SSJS代码,而不能执行CSJS.当我document.在SSJS中尝试这样做时,它给了我一个可预测的例外 - document没有被认识到.如何在页面加载时执行它?

html xpages xpages-ssjs ssjs

1
推荐指数
1
解决办法
77
查看次数

标签 统计

ssjs ×2

xpages ×2

file-upload ×1

html ×1

javascript ×1

xpages-ssjs ×1