XPages:How获取元素值CSJS
XPages:How to get element value CSJS
使用 Bootstrap 应用程序布局,我一直在尝试获取元素的值但无法这样做,我尝试了几种代码,例如
XSP.getElementById("#{id:elementName}").value
$("#{id:elementName}").val()
x$("#{id:elementName}").val()
dojo.byId("#{id:elementName}").value
但是这四个都没有工作,我如何从客户端获取元素的值
2 项检查。
XSP.getElementById("#{id:elementName}") 代码是否正确找到了元素?注意:您应该在这里使用服务器端控件 Id 而不是任何其他 属性 例如名称 将不起作用。如果你想通过名字来做,那么你应该使用另一种方法。
您要获取什么类型的元素?如果它是一个文本输入那么你可以使用 .value 但是如果它是一个 select 或者一些其他类型的控件它可能是一个不同的 method/property
要检查您是否正确找到了元素,试试这个(在 CSJS 按钮事件中):
var el = XSP.getElementById('#{id:serverSideControlId}');
console.log(el);
单击按钮然后在浏览器中检查 javascript 控制台,您应该会在控制台上看到代表您的元素的某种信息,例如:
<input type="text" name="view:_id1:inputText1" id="view:_id1:inputText1">
如果找不到该元素,那么您的 ID 一定是错误的,您将看到 null
一旦你确定你得到了元素,那么你可以尝试使用 XSP.getFieldValue(node) 函数,我认为它有一些聪明之处可以正确根据元素类型查找值。
// Note that you pass in the element that you retrieved already, and not the id
var val = XSP.getFieldValue(el);
这是一个使用 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>
使用 Bootstrap 应用程序布局,我一直在尝试获取元素的值但无法这样做,我尝试了几种代码,例如
XSP.getElementById("#{id:elementName}").value
$("#{id:elementName}").val()
x$("#{id:elementName}").val()
dojo.byId("#{id:elementName}").value
但是这四个都没有工作,我如何从客户端获取元素的值
2 项检查。
XSP.getElementById("#{id:elementName}") 代码是否正确找到了元素?注意:您应该在这里使用服务器端控件 Id 而不是任何其他 属性 例如名称 将不起作用。如果你想通过名字来做,那么你应该使用另一种方法。
您要获取什么类型的元素?如果它是一个文本输入那么你可以使用 .value 但是如果它是一个 select 或者一些其他类型的控件它可能是一个不同的 method/property
要检查您是否正确找到了元素,试试这个(在 CSJS 按钮事件中):
var el = XSP.getElementById('#{id:serverSideControlId}');
console.log(el);
单击按钮然后在浏览器中检查 javascript 控制台,您应该会在控制台上看到代表您的元素的某种信息,例如:
<input type="text" name="view:_id1:inputText1" id="view:_id1:inputText1">
如果找不到该元素,那么您的 ID 一定是错误的,您将看到 null
一旦你确定你得到了元素,那么你可以尝试使用 XSP.getFieldValue(node) 函数,我认为它有一些聪明之处可以正确根据元素类型查找值。
// Note that you pass in the element that you retrieved already, and not the id
var val = XSP.getFieldValue(el);
这是一个使用 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>