I want to sent some html special character to text field and then later use javascript to get it back in its original format: like if I sent "&pi", it will shows "π" on the text input, and when I use javascript to get it back, I should get "&pi", but I only can get "π", not "&pi". Please help, my code is like the following:
<script type="text/javascript">
function qpush(a) {
document.getElementById('input').value += a;
}
function show(a) {
alert(document.getElementById('input').value);
}
</script>
<input type="text" id="input" />
<input type="button" onclick="qpush('π');" value="π" />
<input type="button" onclick="show()" value="go" />
Depending on what you need the it for you could do one of 3 options:
use the javascript escape and unescape functions:
var escaped = escape('π') // escaped = "%u03C0" which unescape will turn back into π
If you have jQuery available it's html method might do the trick:
$('input').val().html()
This is a hack but will work: Save a copy of the value the way you want it returned on a 'data-' attribute of the input element, this will validate in html5 and won't break in other doctypes.
document.getElementById('input').setAttribute('data-originalValue', '&pi')