语法可防止使用@DbLookup填充计算字段

时间:2013-06-06 14:52:07

标签: javascript xpages xsp

我有一个列出几个产品的组合框。其中一些产品的名称中有引号,表示英寸(即12“换装棒)。这是我的问题。我有一个”On Change“事件,使用@DbLookup填充产品成本,计量单位和&更新几个计算字段。项目编号。当我选择任何使用引号来表示英寸的产品时,计算字段不会填充。产品名称中的引号有什么意义?我如何解决这个问题?这是组合框中的代码

try {
        var vendor = getComponent("POVendor").getValue();
        var list = @DbLookup(@DbName(), "VPL", vendor, 2);
        if (@IsError(list))
            return "Select a Vendor first|";
        else
            return list;
    } catch (e) {
        return "Please select a vendor first (Error)|";
    }

以下是计算字段中的代码(它实际上是一个只读的编辑框,而代码是默认值。),它填充了项目成本:

var item = getComponent("Item1").getValue();

var cost = @DbLookup(@DbName(), "PL", item, 2);

return cost;

2 个答案:

答案 0 :(得分:0)

你使用英寸符号吗?如果是这样,您可以尝试使用等效的十六进制代码\ u2033替换它。

var item = getComponent("Item1").getValue();
var cost = @DbLookup(@DbName(), "PL", @ReplaceSubstring(item, '″', '\u2033'), 2);
return cost;

如果你使用正确的双引号,你的十六进制代码将是\ u201D。

请查看此链接http://www.javascripter.net/faq/mathsymbols.htm以查找给定字符的不同类型的代码。

请尝试告诉我们。

答案 1 :(得分:0)

由于导入了产品列表,我需要一种方法来更改“to”in。“。我通过使用代理并更改了包含”“”&amp ;;的所有产品名称。用“in。”代替它们。那很有效。现在我要编写一个禁止使用“英寸标记”的脚本。