2015-01-27 6 views
1

При отправке моей формы ColdFusion я хочу сохранить значения, введенные во входы в Serialized JSON.Сохраните данные формы ColdFusion в Serialized JSON

Ниже приведен пример, предоставленный мной по предыдущему вопросу. Код приведен на моей странице action.cfm, которая задана как страница действия моей формы.

<cfset formCopy = Duplicate(form)> 
<!--- We have to duplicate the struct so that we can safely modify a copy without affecting the original ---> 
<cfset DeleteItems = "fieldnames,gobtn"> 
<cfloop list="#deleteItems#" index="df"> 
    <cfset formCopy = StructDelete(formCopy,df)> 
</cfloop> 

<cfset ForDBInsert = SerializeJSON(formCopy)> 
<!--- ForDBInsert now contains a JSON serialized copy of your data. You can insert it into 
    the database as such, and call it back later. ---> 

Если я удаляю все и оставляю дубликат (форму) на моей странице все еще ошибки.

ВОПРОС: Нужно ли мне указывать мою форму по имени или просто «форме»?

+0

Вы сначала проверяете наличие области формы? Есть условия, при которых он не существует. –

+2

Это ошибки с какой ошибкой? –

+1

* RE: ..Do Мне нужно указать мою форму по имени или просто «форма» * №. Названия форм - это концепция клиентской стороны. Сервер CF ничего не знает об этом. 'FORM' - это имя системной области, поэтому оно всегда * называется' FORM'. Он содержит любые значения, отправленные на сервер через POST. – Leigh

ответ

4

моя страница еще ошибки.

Это не говорит нам многого. Вам необходимо отправить сообщение об ошибке. Однако я подозреваю, что это связано с неправильным использованием StructDelete. StructDelete возвращает значение boolean, а не структуру. Сохраняя результат в "formCopy", вы переписываете структуру с помощью простого булева. В следующий раз, когда вы передадите его в StructDelete, произойдет ошибка, потому что «formCopy» больше не является структурой.

Смежные вопросы