OboutTextBox - Access the inner textbox element
Q:
How can I access the inner textbox (<input type="text" />) element of an OboutTextBox control from JavaScript?
A:
Currently the OboutTextBox control doesn't provide a public property/method for accessing the encapsulated <input type="text" /> element, but you can use the following JavaScript function to do it:
function getInnerTextBox(oboutTextBox) { var textBoxId = oboutTextBox.ID; var elements = document.getElementsByTagName('INPUT'); for (var i = 0; i < elements.length; i++) { if (elements[i].type == 'text' && elements[i].id.indexOf(textBoxId) != -1) { return elements[i]; break; } } }
Usage:
<obout:OboutTextBox ID="OboutTextBox1" runat="server" MaxLength="9"> <ClientSideEvents OnTextChanged="onTextChanged" /> </obout:OboutTextBox>
<script type="text/javascript"> function onTextChanged(sender, newText) { var innerTextBox = getInnerTextBox(sender);
alert(innerTextBox.value); alert(innerTextBox.maxLength); } </script>
|