01 Dec Månadens Experttips – XPages kodtips
Att hämta och sätta värden i olika typer av fält kan för en ovan XPages-utvecklare vara en utmaning.
Vi har därför samlat en del tips för olika fälttyper nedan.
SSJS – Server Side JavaScript
______________________________________________
Hämta värden
(Kräver att data har skickats till servern “submit”,
koden nedan returnerar “null” on datat inte skickats till servern).
______________________________________________
Edit Box, Check Box, Radio Button, Radio Button Group:
getComponent(“ControlID”).value
Check Box:
if (getComponent("ControlID").getValue() == "true") {
// checkbox selected - do something
} else {
// checkbox not selected- do something else
}
Check Box group:
Se detta inlägg på OpenNTF.
______________________________________________
Sätta värden
______________________________________________
Edit Box:
getComponent("ControlID").setValue("something");
CSJS – Client Side JavaScript
______________________________________________
Hämta värden
______________________________________________
Edit Box, Combo Box, Radio Button:
XSP.getElementById("#{id:ControlID}").value
Check Box:
XSP.getElementById("#{id:ControlID}").checked //will return 'true' if checked, 'false' if not checked
Check Box Group:
var checkField=document.getElementsByName("#{id: ControlID }");
var result=[];
for(var i=0;i if(checkField[i].checked){
result.push(checkField[i].value);
}
}
alert(result.join(','));
Radio Button Group:
var result=null;
for(var i=0; i if(document.forms[0].elements[i].name=="#{id:ControlID}" ){
if(document.forms[0].elements[i].checked == true){
result=document.forms[0].elements[i].value;
break; //remove this if for check box groups and collect multiple values above instead
}}}
alert(result); //result is the currently selected value of the radio group
______________________________________________
Sätta värden
______________________________________________
Edit Box:
XSP.getElementById("#{id:ControlID}").value = "something";
Radio Button Group:
function setRadioValue(id, value)
{
var elements = document.getElementsByName (id);
for(i=0;i if (elements[i].value == value) {
elements[i].checked = true;
}
}
}
setRadioValue("#{id:radioGroup}", "value");