Månadens Experttips – XPages kodtips

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");
Tags:
,