Перейти к содержимому


Помогите Создать Форму Запроса.

Помогите создать форму запрос

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 a82z

a82z

    Пользователь

  • Пользователи
  • PipPip
  • 43 сообщений

Отправлено 03 Декабрь 2013 - 22:38

Уважаемые товарищи программисты.
Подскажите как мне создать форму запроса.
За основу  так понимаю можно взять  связь с администрацией на моем сайте.
сайт http://tmcp.ru/
прикрепляю  пример формы,  помогите уж в ее создание. я читал какие то темы разные но не могу я понять что такое скрипты.
Она прям очень необходима мне .

Спасибо.

Прикрепленные изображения

  • forma.png


#2 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 04 Декабрь 2013 - 12:06

Подобную форму сделать на основе страницы Связь с администрацией к сожалению не возможно. Можно только все лишние поля ввода добавлять в одно поле с комментариями, но это только с помошью скриптов.

#3 a82z

a82z

    Пользователь

  • Пользователи
  • PipPip
  • 43 сообщений

Отправлено 04 Декабрь 2013 - 12:23

Просмотр сообщенияKoderhan (04 Декабрь 2013 - 12:06) писал:

Подобную форму сделать на основе страницы Связь с администрацией к сожалению не возможно. Можно только все лишние поля ввода добавлять в одно поле с комментариями, но это только с помошью скриптов.

ну мне бы это подошло , только вот как это сделать?

#4 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 04 Декабрь 2013 - 13:04

Панель администратора, "Сайт"->"Редактор шаблонов".
В файле "Связь с администрацией".
Найти код:
	<form method="post" action="{FEEDBACK_URL}" class="feedbackForm" enctype="multipart/form-data">
	  <div>
		<input type="hidden" name="hash" value="{HASH}" />

		<!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
		{ANTISPAM_CODE}

		{% IF FORM_SEND_OK %}
		  <h2 class="green">Ваше сообщение успешно отправлено администрации магазина</h2>
		  <br /><br /><a href="http://{NET_DOMAIN}/">Перейти на главную</a>
		{% ELSE %}
		  {% IF FORM_NOTICE %}<h2 class="red">{FORM_NOTICE | nl2br}</h2><br />{% ENDIF %}

		  <label for="feedback_name">Представьтесь, пожалуйста</label>
		  <input id="feedback_name" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_NAME}]" value="{FORM_FEEDBACK_NAME}" maxlength="50" class="input required" /><br /><br />

		  <label for="feedback_еmail">Email для обратной связи</label>
		  <input id="feedback_еmail" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_EMAIL}]" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required email" /><br /><br />

		  <label for="feedback_message">Текст сообщения</label>
		  <textarea id="feedback_message" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_MESSAGE}]" cols="100" rows="10" class="required">{FORM_FEEDBACK_MESSAGE}</textarea><br /><br />

		  <label for="feedback_file">Прикрепить файл</label>
		  <input id="feedback_file" type="file" name="form[assets_file]" value="" /><br /><br />

		  <input type="submit" class="button_med" value="Отправить"/>
		{% ENDIF %}
	  </div>
	</form>
Заменить:
	<form method="post" action="{FEEDBACK_URL}" class="feedbackForm" enctype="multipart/form-data">
	  <div>
		<input type="hidden" name="hash" value="{HASH}" />

		<!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
		{ANTISPAM_CODE}

		{% IF FORM_SEND_OK %}
		  <h2 class="green">Ваше сообщение успешно отправлено администрации магазина</h2>
		  <br /><br /><a href="http://{NET_DOMAIN}/">Перейти на главную</a>
		{% ELSE %}
		  {% IF FORM_NOTICE %}<h2 class="red">{FORM_NOTICE | nl2br}</h2><br />{% ENDIF %}

		  <label for="feedback_name">Имя</label>
		  <input id="feedback_name" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_NAME}]" value="{FORM_FEEDBACK_NAME}" maxlength="50" class="input required" /><br /><br />

		  <label for="feedback_еmail">Телефон <span>*</span></label>
		  <input id="feedback_text1" name="" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required text1" /><br /><br />

		  <label for="feedback_еmail">Email <span>*</span></label>
		  <input id="feedback_еmail" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_EMAIL}]" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required email" /><br /><br />

		  <label for="feedback_еmail">Марка автомобиля <span>*</span></label>
		  <input id="feedback_text2" name="" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required text2" /><br /><br />

		  <label for="feedback_еmail">ViN <span>*</span></label>
		  <input id="feedback_text3" name="" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required text3" /><br /><br />

		  <label for="feedback_message">Список запчастей</label>
		  <textarea id="feedback_message" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_MESSAGE}]" cols="100" rows="10" class="required">{FORM_FEEDBACK_MESSAGE}</textarea><br /><br />

		  <label for="feedback_file">Прикрепить файл</label>
		  <input id="feedback_file" type="file" name="form[assets_file]" value="" /><br /><br />

		  <input type="submit" class="button_med" value="Отправить"/>
		{% ENDIF %}
	  </div>
	  <script>
		$(function(){
		  function glueTextForm() {
			var feedbackForm = $('.feedbackForm');
			var feedback_text1_val = $('#feedback_text1').val();
			var feedback_text2_val = $('#feedback_text2').val();
			var feedback_text3_val = $('#feedback_text3').val();
			var feedback_message = $('#feedback_message');

			var allText = '\n Телефон: '+ feedback_text1_val +'\n Марка автомобиля: '+ feedback_text2_val +'\n ViN: '+ feedback_text3_val +'\n Список запчастей: '+ feedback_message.val();
			console.log(allText);

			//Скрываем поле для комментариев и добавляем в поле для комментариев текст из друшгих полей.
			feedback_message.hide();
			feedback_message.val(allText);

			//Отправим форму на сервер
			feedbackForm.submit();
		  }
		  $('.button_med').click(glueTextForm);
		});
	  </script>
	</form>


#5 a82z

a82z

    Пользователь

  • Пользователи
  • PipPip
  • 43 сообщений

Отправлено 04 Декабрь 2013 - 13:42

Просмотр сообщенияKoderhan (04 Декабрь 2013 - 13:04) писал:

Панель администратора, "Сайт"->"Редактор шаблонов".
В файле "Связь с администрацией".
Найти код:
<form method="post" action="{FEEDBACK_URL}" class="feedbackForm" enctype="multipart/form-data">
<div>
<input type="hidden" name="hash" value="{HASH}" />

<!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
{ANTISPAM_CODE}

{% IF FORM_SEND_OK %}
<h2 class="green">Ваше сообщение успешно отправлено администрации магазина</h2>
<br /><br /><a href="http://{NET_DOMAIN}/">Перейти на главную</a>
{% ELSE %}
{% IF FORM_NOTICE %}<h2 class="red">{FORM_NOTICE | nl2br}</h2><br />{% ENDIF %}

<label for="feedback_name">Представьтесь, пожалуйста</label>
<input id="feedback_name" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_NAME}]" value="{FORM_FEEDBACK_NAME}" maxlength="50" class="input required" /><br /><br />

<label for="feedback_еmail">Email для обратной связи</label>
<input id="feedback_еmail" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_EMAIL}]" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required email" /><br /><br />

<label for="feedback_message">Текст сообщения</label>
<textarea id="feedback_message" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_MESSAGE}]" cols="100" rows="10" class="required">{FORM_FEEDBACK_MESSAGE}</textarea><br /><br />

<label for="feedback_file">Прикрепить файл</label>
<input id="feedback_file" type="file" name="form[assets_file]" value="" /><br /><br />

<input type="submit" class="button_med" value="Отправить"/>
{% ENDIF %}
</div>
</form>
Заменить:
<form method="post" action="{FEEDBACK_URL}" class="feedbackForm" enctype="multipart/form-data">
<div>
<input type="hidden" name="hash" value="{HASH}" />

<!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
{ANTISPAM_CODE}

{% IF FORM_SEND_OK %}
<h2 class="green">Ваше сообщение успешно отправлено администрации магазина</h2>
<br /><br /><a href="http://{NET_DOMAIN}/">Перейти на главную</a>
{% ELSE %}
{% IF FORM_NOTICE %}<h2 class="red">{FORM_NOTICE | nl2br}</h2><br />{% ENDIF %}

<label for="feedback_name">Имя</label>
<input id="feedback_name" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_NAME}]" value="{FORM_FEEDBACK_NAME}" maxlength="50" class="input required" /><br /><br />

<label for="feedback_еmail">Телефон <span>*</span></label>
<input id="feedback_text1" name="" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required text1" /><br /><br />

<label for="feedback_еmail">Email <span>*</span></label>
<input id="feedback_еmail" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_EMAIL}]" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required email" /><br /><br />

<label for="feedback_еmail">Марка автомобиля <span>*</span></label>
<input id="feedback_text2" name="" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required text2" /><br /><br />

<label for="feedback_еmail">ViN <span>*</span></label>
<input id="feedback_text3" name="" value="{FORM_FEEDBACK_EMAIL}" maxlength="255" class="input required text3" /><br /><br />

<label for="feedback_message">Список запчастей</label>
<textarea id="feedback_message" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_MESSAGE}]" cols="100" rows="10" class="required">{FORM_FEEDBACK_MESSAGE}</textarea><br /><br />

<label for="feedback_file">Прикрепить файл</label>
<input id="feedback_file" type="file" name="form[assets_file]" value="" /><br /><br />

<input type="submit" class="button_med" value="Отправить"/>
{% ENDIF %}
</div>
<script>
$(function(){
function glueTextForm() {
var feedbackForm = $('.feedbackForm');
var feedback_text1_val = $('#feedback_text1').val();
var feedback_text2_val = $('#feedback_text2').val();
var feedback_text3_val = $('#feedback_text3').val();
var feedback_message = $('#feedback_message');

var allText = '\n Телефон: '+ feedback_text1_val +'\n Марка автомобиля: '+ feedback_text2_val +'\n ViN: '+ feedback_text3_val +'\n Список запчастей: '+ feedback_message.val();
console.log(allText);

//Скрываем поле для комментариев и добавляем в поле для комментариев текст из друшгих полей.
feedback_message.hide();
feedback_message.val(allText);

//Отправим форму на сервер
feedbackForm.submit();
}
$('.button_med').click(glueTextForm);
});
</script>
</form>
Супер, спасибо большое.

#6 xotena

xotena

    Пользователь

  • Пользователи
  • PipPip
  • 36 сообщений
  • ГородМосква

Отправлено 07 Апрель 2014 - 15:03

Здравствуйте!
Применила вашу форму для своего сайта, но есть один недочет. Если в форме запроса оставить какое-то обязательное поле незаполненным, то после нажатия на "отправить", страница загружается, указывает какое поле необходимо заполнить, но при этом пропадает поле Сообщение (feedback_message). Как это поправить?
Изображение

#7 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 09 Апрель 2014 - 02:45

Попробуйте в шаблоне "Связь с администрацией" найти следующий код

<script>
$(function(){
function glueTextForm() {
var feedbackForm = $('.feedbackForm');
var feedback_text1_val = $('#feedback_text1').val();
var feedback_text2_val = $('#feedback_text2').val();
var feedback_text3_val = $('#feedback_text3').val();
var feedback_message = $('#feedback_message');
var allText = '\n Телефон: '+ feedback_text1_val +'\n Марка автомобиля: '+ feedback_text2_val +'\n ViN: '+ feedback_text3_val +'\n Список запчастей: '+ feedback_message.val();
console.log(allText);
//Скрываем поле для комментариев и добавляем в поле для комментариев текст из друшгих полей.
feedback_message.hide();
feedback_message.val(allText);
//Отправим форму на сервер
feedbackForm.submit();
}
$('.button_med').click(glueTextForm);
});
</script>

и заменить его на

<script>
$(function(){
  $('.feedbackForm').submit(function() {
	  if(!$(this).valid()) {
		return(false);
	  }
	  var feedback_text1_val = $('#feedback_text1').val();
	  var feedback_text2_val = $('#feedback_text2').val();
	  var feedback_text3_val = $('#feedback_text3').val();
	  var feedback_message = $('#feedback_message');
	  var allText = '\n Телефон: '+ feedback_text1_val +'\n Марка автомобиля: '+ feedback_text2_val +'\n ViN: '+ feedback_text3_val +'\n Список запчастей: '+ feedback_message.val();
console.log(allText);
	  //Скрываем поле для комментариев и добавляем в поле для комментариев текст из друшгих полей.
	  feedback_message.hide();
	  feedback_message.val(allText);
  });
}
</script>


#8 xotena

xotena

    Пользователь

  • Пользователи
  • PipPip
  • 36 сообщений
  • ГородМосква

Отправлено 10 Апрель 2014 - 10:47

Спасибо, помогло!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных