0

我试图 on page load在后面的代码中使用javascript禁用radmenu中的一个按钮

如果我在浏览器的控制台窗口中运行我的 javascript 进行测试,那么该按钮将被禁用。这样就证明了 JavaScript 可以工作。

错误是:找不到对象 -$find('myRadMenu') 名称是正确的,所以它与渲染 radmenu 的时间有关,所以我尝试将我的脚本包装在 document.ready 中,但这也行不通

'' not working with document.ready

'    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

'    ClientScript.RegisterStartupScript(Me.GetType(), "test", "<script type='text/javascript'> $(document).ready(function(){$find('myRadMenu').findItemByText('MyButton').disable();}); </script>")

'    End Sub




Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

ClientScript.RegisterStartupScript(Me.GetType(), "test", "<script type='text/javascript'> $find('myRadMenu').findItemByText('MyButton').disable(); </script>")

End Sub

您知道如何从 vb.net 页面加载函数调用的 javascript 中禁用 radmenu 按钮。

必须以这种方式完成,因为我有其他需要触发的 javascript

4

1 回答 1

0

请尝试使用以下代码片段。

JS

function DisabelMenu(MenuText) {
            setTimeout(function () { SetSettingAfterSometime(MenuText) }, 100);
        }

        function SetSettingAfterSometime(MenuText) {
            var menu = $find("<%=RadMenu1.ClientID%>");
            menu.findItemByText(MenuText).disable();
        }

CS

RegisterStartupScript(this, this.GetType(), "test123", "DisabelMenu('test2');", true);

如果你得到 null 然后增加超时延迟。

于 2013-08-12T13:20:38.513 回答