用ASCII字符替换提交按钮值
我正在尝试用ASCII字符代码替换提交按钮的“保存”值,例如—
( – ),除了它显示文字代码而不是它的翻译。
$("#myform").on("submit", function(){ $("input#commit").attr('readonly', true).val("—"); });
产生一个这样的按钮:
[ — ]
我也试过.prop('value', '—');
但同样的问题。 这有可能吗?
只需使用值中的字符,如下所示:
$("#myform").on("submit", function(){ $("input#commit").attr('readonly', true).val("—"); });
或者,使用unicode值,如下所示:
$("#myform").on("submit", function(){ $("input#commit").attr('readonly', true).val('\u2014'); });
$("button[type='submit']").on("click", function(e){ $("button[type='submit']").attr('readonly', true).html(""); });
实际上,您需要做的是使用ASCII实体创建一个元素并读取该元素的innerText
。
$("#myform").on("submit", function(){ var d = document.createElement("div"); d.innerHTML = ""; var ascii = d.innerText; $("input#commit").attr('readonly', true).val(ascii); });
有关更多信息,请参阅以下答案: 我如何在JS中浏览HTML实体? (改变&lt;到<)
尝试使用String.fromCharCode和即使这工作…不设置值时???
alert(String.fromCharCode('151'));
当我尝试通过jquery或仅使用普通的javascript分配值。 使用String.fromCharCode(’151’)不会出现该字符
//doesnt work $("input#commit").val(String.fromCharCode('151')); //doesnt work $("input#commit")[0].value = String.fromCharCode('151'); //doesnt work document.getElementById('commit').value = String.fromCharCode('151');
我找到解决方法的最佳方法是创建一个临时div。 设置html()并使用jQuery返回text();
//works $("input#commit").attr('readonly', true).val($('').html('').text());