Untuk mendapatkan nilai atau value dari suatu elemen biasanya kita melakukan beberapa tahapan. Yaitu:
- Melacak object
- Melacak jenis object-nya agar bisa mendapatkan parameter yang tepat untuk object tersebut
- Mendapatkan nilainya (value)
Fungsi ini berisi proses-proses yang tersebut diatas. Sehingga pengguna bisa lebih berkonsentrasi pada proses yang lebih besar. Dan saat mencoba menggunakan Mozilla Firefox.
string = _getValueById(strID)
| string | : | nilai yang dikembalikan berupa data bertype string |
| strID | : | adalah ID dari elemen |
Contoh:
<html>
<script>
_getValueById=function(strID){ ... }
</script>
<body>
<select id="selID">
<option value="1">test 1</option>
<option value="2">test 2</option>
<option value="3">test 3</option>
</select><br>
<input type="checkbox" id="cID" value="I'm checked">Check Me<br>
<input type="button" value="Get Select Value" onclick=alert(_getValueById("selID"))>
<input type="button" value="Get Checkbox Value" onclick=alert(_getValueById("cID"))>
</body>
</html>
Script lengkap dari _getValueById adalah sebagai berikut:
_getValueById=function(strID)
{
if(!strID){alert("strID was empty");return;};
var xElement=getObjById(strID);
if(!xElement)
{
if(boolSilent){return;}
else{alert("Element "+strID+" not found");return;};
};
var xValue="";
if(xElement.nodeName.toLowerCase() == "input" && (xElement.getAttribute("type") == "text" || xElement.getAttribute("type") == "hidden" || xElement.getAttribute("type") == "password"))
{
xValue=xElement.value;
}
else if(xElement.nodeName.toLowerCase() == "input" && xElement.getAttribute("type") == "checkbox")
{
if(xElement.checked){xValue=xElement.value;}
}
else if(xElement.nodeName.toLowerCase() == "textarea")
{
xValue=xElement.value;
if(!xValue){xValue=xElement.nodeValue;}
}
else if(xElement.nodeName.toLowerCase() == "select")
{
var xOptions=xElement.getElementsByTagName("option");
for(var i=0;i<xOptions.length;i++)
{
var xOption=xOptions[i];
if(xOption.selected)
{
if(xOption.value){xValue+=xOption.value+" ";};
};
};
};
return (xValue) ? xValue : "";
};
Semoga bermanfaat.
