【问题标题】:Seaside: list losing its content on updateSeaside:列表在更新时丢失其内容
【发布时间】:2011-02-13 16:17:23
【问题描述】:

这个真的很简单。我有一个<select>,我想根据选择更新一些内部状态。无需重新显示任何内容。问题是在进行选择和 AJAX 请求之后,列表会丢失其内容。

renderContentOn: html
|value myId|
    html form with: [
        html select list: #('one' 'two' 'tree' 'four' 'five');
            id: (myId := html nextId);
            callback: [ :v | value := myId ];
            onChange: (
                html prototype updater
                    triggerFormElement: myId;
                    callback: [:h | value "do something with the value here"];
                    return: false
                ).
    ]

【问题讨论】:

    标签: ajax smalltalk seaside


    【解决方案1】:

    #updater 需要更新元素的 DOM ID。如果您未能提供 ID,则默认为 this,即触发事件的 DOM 元素。因此,您最终得到一个空列表。如果您不需要更新某些内容,您应该使用#request 而不是#updater。如果您想更新某些内容,您需要使用 #id: 提供有效 ID。

    阅读Seaside Book的AJAX: Talking back to the Server部分,它非常详细地解释了AJAX。

    【讨论】:

      【解决方案2】:

      因为更新程序用回调生成的内容替换了它定义的元素的html,而你的回调没有生成任何html,所以我认为列表是空的。

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 1970-01-01
        • 2021-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多