Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript XPages:如何获取元素值CSJS_Javascript_Xpages_Lotus Notes - Fatal编程技术网

Javascript XPages:如何获取元素值CSJS

Javascript XPages:如何获取元素值CSJS,javascript,xpages,lotus-notes,Javascript,Xpages,Lotus Notes,使用Bootstrap应用程序布局,我一直在尝试获取元素的值,但无法做到这一点,我尝试了以下代码 XSP.getElementById("#{id:elementName}").value $("#{id:elementName}").val() x$("#{id:elementName}").val() dojo.byId("#{id:elementName}").value 但是这四个元素中的任何一个都不起作用,我如何从客户端获取元素的值呢 XSP.getElementById(“#{id

使用Bootstrap应用程序布局,我一直在尝试获取元素的值,但无法做到这一点,我尝试了以下代码

XSP.getElementById("#{id:elementName}").value
$("#{id:elementName}").val()
x$("#{id:elementName}").val()
dojo.byId("#{id:elementName}").value
但是这四个元素中的任何一个都不起作用,我如何从客户端获取元素的值呢

  • XSP.getElementById(“#{id:elementName}”)代码是否正确地找到了元素?注意:您应该在此处使用服务器端控件Id,而不是任何其他属性,例如名称将不起作用。如果你想用名字来做这件事,那么你应该使用另一种方法

  • 你想得到什么类型的元素?如果是文本输入,则可以使用.value,但如果是select或其他类型的控件,则可能是不同的方法/属性

  • 要检查是否正确找到元素,请尝试以下操作(在CSJS按钮事件中):

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

    <input type="text" name="view:_id1:inputText1" id="view:_id1:inputText1">
    
    下面是一个使用InputText的工作示例:

    <?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>
    
    
    
    2件需要检查的事情

  • XSP.getElementById(“#{id:elementName}”)代码是否正确地找到了元素?注意:您应该在此处使用服务器端控件Id,而不是任何其他属性,例如名称将不起作用。如果你想用名字来做这件事,那么你应该使用另一种方法

  • 你想得到什么类型的元素?如果是文本输入,则可以使用.value,但如果是select或其他类型的控件,则可能是不同的方法/属性

  • 要检查是否正确找到元素,请尝试以下操作(在CSJS按钮事件中):

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

    <input type="text" name="view:_id1:inputText1" id="view:_id1:inputText1">
    
    下面是一个使用InputText的工作示例:

    <?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>
    
    
    
    将其与按钮一起使用效果很好,但当我将其与scriptBlock一起使用时,在两次打印时都返回null,这可能与计时有关,文档可能还没有准备好,因此您可能无法获取元素。如果将这些语句包装在XSP.addOnLoad(function(){})中会怎么样;这样,在文档准备好之前它不会运行。您希望使代码运行的事件是什么?将其与按钮一起使用效果很好,但当我将其与scriptBlock一起使用时,在两次打印时返回null,这可能与计时有关,文档可能尚未准备就绪,因此您可能无法获取元素。如果将这些语句包装在XSP.addOnLoad(function(){})中会怎么样;这样,在文档准备好之前它不会运行。要使代码运行的事件是什么?