XPages:如何获取元素值CSJS

时间:2016-09-11 21:13:41

标签: javascript xpages lotus-notes

使用Bootstrap Application布局,我一直试图获取元素的值,但无法这样做,我尝试了几个代码,如

XSP.getElementById("#{id:elementName}").value
$("#{id:elementName}").val()
x$("#{id:elementName}").val()
dojo.byId("#{id:elementName}").value

但是四个中的非中有效,我如何从客户端获取元素的值

1 个答案:

答案 0 :(得分:2)

要检查的2件事。

  1. XSP.getElementById("#{id:elementName}")代码是否正确查找元素?注意:您应该在这里使用服务器端控件ID,而不是任何其他属性,例如: 名称赢了。如果你想通过名字来做,那么你应该使用另一种方法。

  2. 您想要获得什么类型的元素?如果它是文本输入,那么你可以使用 .value ,但如果它是一个选择,或者某种其他类型的控件,它可能是一个不同的方法/属性

  3. 要检查您是否正确找到元素,请尝试此操作(在CSJS按钮事件中):

    <input type="text" name="view:_id1:inputText1" id="view:_id1:inputText1">
    

    单击按钮然后在浏览器中检查您的javascript控制台,您应该在控制台上看到代表您的元素的某种信息,例如:

    null

    如果无法找到该元素,那么您的ID必定是错误的,您会看到// Note that you pass in the element that you retrieved already, and not the id var val = XSP.getFieldValue(el);

    一旦你确定要获得该元素,那么你可以尝试使用 XSP.getFieldValue(node)函数,我认为其中有一些智能可以根据类型正确找到值元素。

    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    
        <xp:inputText id="inputText1" value=""></xp:inputText>
    
        <xp:button value="Get Element Value" id="button1">
            <xp:eventHandler event="onclick" submit="false">
                <xp:this.script><![CDATA[
    
            var el = XSP.getElementById('#{id:inputText1}');
    
            // Check your javascript console in your browser
            console.log(el);
    
            var val = XSP.getFieldValue(el);
    
            // Check the contents of the value 
            console.log(val);
    
            ]]></xp:this.script>
            </xp:eventHandler>
        </xp:button>
    
    
    </xp:view>
    

    这是一个带有InputText的工作示例:

    {{1}}