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");