我的ColdFusion应用程序中有一个HTML按钮,它正在提交一个表单。我正在尝试包括一个字体的图标连同文字的按钮。唯一可以指定Unicode而不抛出错误的方法是将散列字符加倍。
<input class="stylized_btn" tabindex="0" type="submit" name="save2"
id="save2" value=" &##xf0c7; Save This Ticket"
onclick="disableSaveButtonClick(event);" />然而,它不是显示图标,而是显示一个正方形。

这似乎是ColdFusion由于双哈希标签而不识别我的Unicode字符的一个怪癖,但这只是猜测而已。我有其他按钮元素在我的页面上,正确地显示字体的图标,所以我知道这不是我的字体定义的问题。我不知道我到底在哪里出了问题。有人能帮我弄清楚吗?
使用按钮标记更新代码。
HTML按钮
<button id="saveOnlyButton" name="save" class="stylized_btn">
<i class="fas fa-save"> </i> Update Ticket
</button>

JavaScript
window.onload=function(){
var SaveButton = document.getElementById("saveOnlyButton");
SaveButton.addEventListener("click", disableSaveButton);
}
//Save Button Logic
function disableSaveButton() {
console.log("Save button clicked");
document.getElementById("submitType").value = "save";
document.getElementById("saveOnlyButton").innerHTML = "Please Wait...";
document.getElementById("saveOnlyButton").disabled = true;
document.getElementById("autoSumForm").submit();
} 发布于 2020-12-12 21:37:02
你试过用按钮标签吗?(我们停止使用输入:submit按钮。)
我们通常使用<button type =“submit”><i class=“fa fa-lg fa-my-icon”></i > Label Text</button>,但是您应该能够使用HTML。
发布于 2020-12-12 21:34:04
不要使用输入元素,而是使用按钮。按钮的默认行为是提交表单。
<button class="stylized_btn btn-default" tabindex="0" id="save2" onclick="disableSaveButtonClick(event);"><i class="fa fa-save"></i> Save This Ticket</button>(我添加了btn-默认值,以防您使用引导)
发布于 2020-12-13 05:04:57
在ColdFusion中,这不是你所建议的怪癖。ColdFusion的行为与预期完全一致。需要双哈希##的原因是,每当您在<cfoutput>标记中时,ColdFusion都会将单个哈希#视为变量或可计算表达式的开始。当它找不到结束散列时,它会抛出一个错误。
现在,有时您的意图是将散列用于显示目的,而不是计算变量或表达式,就像在您的情况下一样。因此,解决方案是使用双哈希## (一个转义字符),让CF知道您只想在呈现的页面上将其显示为一个散列。
如果使用浏览器的开发人员工具和检查元素,则它会显示为正确的散列。另一个解决问题的方法是确保从<cfoutput>块中删除输入按钮的代码部分。
最重要的是,您不应该通过查看CF源代码来进行调试,您应该使用浏览器的开发工具或浏览器的“查看源”选项来调试呈现的页面。如果可以,请通过提供提交按钮的“检查元素”的屏幕截图来更新您的原始问题。
https://stackoverflow.com/questions/65269754
复制相似问题