Textfields with permanent prefix
Always display prefix in inputfield no matter what the user does in the input
HTML
<form>
<div class="ui-field-contain">
<label for="pan">Member #</label>
<input id="pan" name="pan" type="text" value=" /" />
</div>
</form>
JavaScript
var prefix = ' /';
var backSpaceCode = 8;
var resetCursor = function (e) {
var len = this.value.length;
this.setSelectionRange(len, len);
};
var checkInput = function(e) {
var currentValue = this.value;
if (currentValue.length != prefix.length && currentValue.substr(0, prefix.length) !== prefix) {
this.value = prefix;
}
checkDelete(e);
resetCursor(e);
};
var checkDelete = function (e) {
var currentValue = this.value;
var keyCode = e.which || e.keyCode;
if (currentValue.length === prefix.length && keyCode === backSpaceCode) {
e.preventDefault();
}
};
var input = $('#pan').keydown(checkInput).keyup(checkInput).focus(resetCursor).mouseup(resetCursor);