【问题标题】:Telerik Rad Textboxes and javascript issueTelerik Rad 文本框和 javascript 问题
【发布时间】:2011-01-12 09:38:40
【问题描述】:

我只是想用 JavaScript 中的服务器数据填充一个 Rad 文本框。数据放置在文本框内,但在我单击 Rad 文本框之前它是不可见的。

  function pickItem(name, sku, plu, nameBox, sBox, pBox) {

                sBox.value = sku;
                pBox.value = plu;
                nameBox.value = name;
                $find('mdlPopup').hide();
            }

我将在代码中发送参数以单击 Gridview 内的按钮,如下所示:

  button.Attributes.Add("onClick", string.Format("pickItem('{0}',{1},{2},{3},{4},{5});",
                e.Row.Cells[0].Text.Trim(), e.Row.Cells[1].Text.Trim(), e.Row.Cells[2].Text.Trim(), FormViewAccident.FindControl("prodBox").ClientID,
                FormViewAccident.FindControl("SBox").ClientID, FormViewAccident.FindControl("PBox").ClientID));

再一次,除了我必须在文本框内部单击之外,这有效。如果我使用与该项目不一致的常规 asp.net 文本框,它会完美工作

【问题讨论】:

  • @Eric,我删除了与 Rapid Application Development 相关的 rad 标签,而不是 Telerik Rad 工具
  • 你有 XSS 漏洞。
  • 好的。关于如何防止这种情况的任何想法?
  • 要修复 XSS 漏洞,您需要转义字符串中的单引号、反斜杠和换行符。要解决您的问题,请参阅我的回答。

标签: .net asp.net javascript visual-studio telerik


【解决方案1】:

还要确保 nameBox 是对客户端 RadTextBox 对象的引用,而不是其 DOM 元素(提示:使用 $find 方法而不是 $get)。

【讨论】:

    【解决方案2】:

    您需要使用 Telerik 的客户端 API 来更改该值。

    nameBox.value = name 更改为nameBox.set_value(name)

    有关详细信息,请参阅demo

    【讨论】:

    • 我也想过同样的事情,但我继续收到此错误:'对象不支持此属性或方法'
    • 将其更改为set_value。文件有误;你应该看看演示。
    猜你喜欢
    • 2011-03-14
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    相关资源
    最近更新 更多