Я использую ColdFusion 9.
Я не могу найти средства для успешного вывода одиночной кавычки в текстовое поле.
Я создаю поля формы, используя пользовательскую функцию CFSCRIPT.(Для простоты я свел к минимуму параметры для этого примера.)
Когда мой вывод содержит одинарную кавычку, текстовое поле полностью испорчено, обязательно запустите пример и просмотрите HTML.Я пытался использовать PreserveSingleQuotes () всеми возможными способами.
// USE EITHER STRING
MyString = "This string works fine.";
MyString = "This single quote's the problem!";
writeOutput(createInputBox(MyString));
// CREATE TEXT INPUT
function createInputBox(Value) {
LOCAL.Properties = " value='#preserveSingleQuotes(ARGUMENTS.Value)#'";
LOCAL.Item = "<input size='50' type='text' #LOCAL.Properties# />";
return LOCAL.Item;
}
Знаете ли вы решение?++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ОТВЕТ
Избавьтесь от функции preserveSingleQuotes (), так как она ничего не делает вне блока SQL.(Спасибо, Адам!).
LOCAL.Properties = " value='#ARGUMENTS.Value#'";
Затем избавьтесь от одинарных кавычек и замените их экранированными двойными кавычками:
LOCAL.Properties = " value=""#ARGUMENTS.Value#""";
Это все равно будет подавлять строки, подобные этой:
MyString = "This is my F#@'''""$":""ing problem!";
Итак, добавьте функцию htmlEditFormat () следующим образом:
LOCAL.Properties = " value=""#htmlEditFormat(ARGUMENTS.Value)#""";
Спасибо за помощь !!!