2012-06-04 2 views
2

У меня есть форму для обратной связи в конце моей веб-страницы, которая отправляется на мой адрес электронной почты после ее заполнения и отправки пользователями. Письмо отправляется, но браузер отправляется в файл cfm. Я хотел бы иметь возможность просто скрыть форму и заменить ее благодарственным сообщением. Это возможно? Если нет, просто оставайтесь на веб-странице, где форма была бы идеальной.CFMail Вернуться к форме

Спасибо всем.

+0

Вы должны попытаться получить несколько ответов, прежде чем выбрать первый, как правильный ответ. В будущем вы получите дополнительную помощь. –

ответ

3

Вы можете отправить пользователя, где захотите. Просто используйте cflocation после отправки сообщения электронной почты, чтобы отправить их где-нибудь, или сохранить их на одной странице и просто отобразить сообщение благодарности.

+0

Спасибо. Есть ли способ не открывать эту страницу cfm и просто заменить форму благодарственным сообщением? В принципе, переход на другой URL-адрес и последующее возвращение на мой сайт может затруднить замену формы только когда пользователь отправляет ее. –

2

Много раз форма отправляется на ту же страницу и скрытое поле формы, которое отправляет последующий оператор if. Скажем, вы находитесь на странице form.cfm. Вы можете отправить форму следующим образом?

<form action="form.cfm"> 
<input type="hidden" name="ThisFormWasSubmitted"> 
// form stuff 
</form> 

Вы можете иметь при Постулатах выше формы, либо отображает форму или отображают благодарственную для представленной формы, например:

<cfif structKeyExists(FORM, "ThisFormWasSubmitted")> 
    // process the form 
    // show thank you message 
<cfelse> 
    // show the form 
</cfif> 

Есть, конечно, десятки varations этого.

+1

Я начинаю думать, что должен написать свою форму в файле cfm. На данный момент форма находится в моем html-файле, и этот файл открывает файл cfm. Единственным содержимым этого файла является тег . Это плохой способ структурирования получения отзывов от пользователя, если я хочу сохранить их на странице html/заменить форму? Спасибо за вашу помощь evik. Извините за то, что вы прыгнули с пистолета на вопрос ответа - я, очевидно, новый. –

+0

Добро пожаловать в StackOverflow! Если вы находитесь на сервере ColdFusion, отличная идея иметь каждую страницу CFM-файл. Таким образом, вы можете предоставить много файлов CF на каждой странице. Для обработки CF-кода очень мало накладных расходов. (Вы также можете отменить ответы, а не просто принять их.) –

2

После подачи данных в целом рекомендуется использовать перенаправление, чтобы избежать второй отправки, если пользователь нажимает кнопку «Обновить».

Тег cflocation позволит вам сделать это просто.

Я предлагаю вам отправить ваши данные в «обработчик» файла cfm (или, еще лучше, cfc), а затем использовать тег cflocation, чтобы доставить вас на страницу благодарности.

+0

Вы предоставили хороший совет. :) –

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