1

底线是我需要一个(dojo)确认是-否对话框,我需要在 xsl 代码中使用它。

这个想法是我使用 xslt 转换生成两个按钮,第一个是编辑,第二个是删除。后者应该打开确认对话框。这是我用来创建这些按钮的 xsl 代码。

 <xsl:template match="report:submit-button">
        <script type="text/javascript">require(["dojo/parser", "dijit/form/Button"]);</script>

        <button type="submit" data-dojo-type="dijit/form/Button">
            <xsl:if test="@name">
                <xsl:attribute name="name">
                    <xsl:value-of select="@name"/>
                </xsl:attribute>
            </xsl:if>

            <xsl:if test="@value">
                <xsl:attribute name="value">
                    <xsl:value-of select="@value"/>
                </xsl:attribute>
            </xsl:if>

        </button>
    </xsl:template>

我对dojo真的很陌生,但我找到了一些教程,所以我有下面的代码。

<div>
    <div class="dijitDialogPaneContentArea">
        Please confirm if you would like to delete the selected ${message}. <p/>
        This operation cannot be undone.
    </div>

    <div class="dijitDialogPaneActionBar">
        <button data-dojo-type="dijit/form/Button" type="submit" >OK</button>
        <button data-dojo-type="dijit/form/Button" type="button" >Cancel</button>
    </div>
</div>

var myWidget = new MyWidget({
  message: "Member"
});

var myDialog4 = new Dialog({
  title: "My Dialog 4",
  content: myWidget
});

myDialog4.show();

我的问题是如何将 dojo 合并到 xsl 代码中?如果它是一个简单而简短的 javascipt 函数,例如 alert() 或 Confirm,那么我将添加另一个值为“onclick”的属性,如下所示:

<xsl:if test="@verifyPopUp">
     <xsl:attribute name="onclick">
         var c = confirm("Please confirm deleting this item");                 
      </xsl:attribute>
</xsl:if>

但是上面这个冗长且有点麻烦的dojo-code似乎并不完美。任何建议都适用。

4

0 回答 0