Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2014, 10:06
Аспирант
Отправить личное сообщение для Deymos Посмотреть профиль Найти все сообщения от Deymos
 
Регистрация: 14.01.2013
Сообщений: 33

Не отправляет автоматически заполненные inpute
Коллеги, уже весь мозг себе сломал.

Есть форма отправки формы:

<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
<form action="form_processing.php" method="post">
	<h2>Сделайте заказ онлайн</h2>
<input type="text" name="name" value="Ваше имя" 
onblur="if(this.value==''){this.value='Ваше имя';}"
	onfocus="if(this.value=='Ваше имя'){this.value='';}" /><br/>
<input type="text" name="tema" value="Ваш телефон" 
onblur="if(this.value==''){this.value='Ваш телефон';}"
onfocus="if(this.value=='Ваш телефон'){this.value='';}" /><br/>
<input type="text" name="kolvo" value="Количество" 
onblur="if(this.value==''){this.value='Количество';}"
onfocus="if(this.value=='Количество'){this.value='';}" /><br/>
<input type="text" style="color:#9f9f9f;"  name="buy" value='ЗАПОЛНЯЕТСЯ АВТОМАТОМ' readonly/><br/>
<input type="submit" value="Отправить">
</form>
</div>
</div>


При нажатии на кнопку отправить отправляются только те поля, в которые я вручную ввел значения. Есть поле BUY, в которое значение вставляется автоматом через CMS. Оно почему-то не передается. Подскажите в чем может быть косяк..?

Вот сам обработчик:

<?php
 header('Content-Type: text/html; charset=windows-1251'); 
/* Осуществляем проверку вводимых данных и их защиту от враждебных 
скриптов */
error_reporting(0);
$name = htmlspecialchars($_POST["name"]);
$tema = htmlspecialchars($_POST["tema"]);
$buy = htmlspecialchars($_POST["buy"]);
$kolvo = htmlspecialchars($_POST["kolvo"]);


/* Устанавливаем e-mail адресата */
$myemail = "ггггггггг";
/* Проверяем заполнены ли обязательные поля ввода, используя check_input 
функцию */
/*$name = check_input($_POST["name"], "Введите ваше имя!");*/
$tema = check_input($_POST["tema"], "Укажите телефон!");
/* Создаем новую переменную, присвоив ей значение */
$message_to_myemail = "Здравствуйте! 
Новая заявка с сайта.
Имя отправителя: $name 
Телефон: $tema
Заказ: $buy
Количество: $kolvo шт
Конец";
/* Отправляем сообщение, используя mail() функцию */
$from  = "From: вввввввввввв <admin@google.com> \r\n Reply-To: 1@google.com \r\n"; 
mail($myemail, $tema, $message_to_myemail, $from);
?>
<div align="center" 
style="background: #f6fbf4;
-webkit-box-shadow: 0px 0px 2px rgba(50, 50, 50, 0.25);
-moz-box-shadow:    0px 0px 2px rgba(50, 50, 50, 0.25);
box-shadow:         0px 0px 2px rgba(50, 50, 50, 0.25);
border: 1px solid rgb(204, 204, 204);
border-radius: 5px;
padding: 10px;
margin: 15% auto;
width:40%;
">
<p><b>Спасибо за ваше обращение!</b></p>
<p>Наш сотрудник свяжется с Вами в течении 15 минут.</p>
<p><font size="2"><a mce_href="javascript:history.go(-1)" href="javascript:history.go(-1)" title="Нажмите здесь, что бы перейти на предыдущю страницу">Нажмите здесь, что бы перейти на предыдущю страницу.</a></font></p>
</div>

<?php
/* Если при заполнении формы были допущены ошибки сработает 
следующий код: */
function check_input($data, $problem = "")
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<p>Пожалуйста исправьте следующую ошибку:</p>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>


За ранее спасибо за ответы
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2014, 12:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Deymos
Подскажите в чем может быть косяк
У тя какая-то муть вобще с атрибутами. Зачем там onblur?
Используй атрибут placeholder + костыль для старых браузеров (placeholders.js или навроде).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2014, 15:08
Аспирант
Отправить личное сообщение для Deymos Посмотреть профиль Найти все сообщения от Deymos
 
Регистрация: 14.01.2013
Сообщений: 33

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

Последний раз редактировалось Deymos, 22.04.2014 в 15:14.
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2014, 15:12
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

вы выложили только ту часть кода, по которой можно сужить что значение buy всегда будет равным 'ЗАПОЛНЯЕТСЯ АВТОМАТОМ'. больше сказать может только телепат.
Ответить с цитированием
  #5 (permalink)  
Старый 22.04.2014, 15:31
Аспирант
Отправить личное сообщение для Deymos Посмотреть профиль Найти все сообщения от Deymos
 
Регистрация: 14.01.2013
Сообщений: 33

Все верно я выложил, смотрите

я нажимаю на кнопку, всплывает окно с кодом №1, которое я выложил.
Я заполняю 3 поля, 4 у меня фиксированное.
Далее я нажимаю отправить. В итоге письмо приходит с заполненными 3 полями, а 4 пустое.

Если сделать по другому - заполнить 3 поля и отредактировать 4, тогда при отправке приходит письмо со всеми полями.

Надеюсь более менее объяснил?
Ответить с цитированием
  #6 (permalink)  
Старый 22.04.2014, 15:41
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

еще раз:
<input type="text" style="color:#9f9f9f;" name="buy" value='ЗАПОЛНЯЕТСЯ АВТОМАТОМ' readonly/><br/>

из этого следует что значение buy равно "ЗАПОЛНЯЕТСЯ АВТОМАТОМ" и доступно только для просмотра. в скрипте стоит обычный обработчик:
$buy = htmlspecialchars($_POST["buy"]);
, который без всяких обработок вставляется в тело письма:
Заказ: $buy
То что вы выложили - работает.
Ответить с цитированием
  #7 (permalink)  
Старый 22.04.2014, 15:43
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

у вас где-то еще есть код, который обрабатывает buy перед отправкой на сервер.
Ответить с цитированием
  #8 (permalink)  
Старый 22.04.2014, 15:50
Аспирант
Отправить личное сообщение для Deymos Посмотреть профиль Найти все сообщения от Deymos
 
Регистрация: 14.01.2013
Сообщений: 33

Дак вот именно что должно работать, но почему-то не работает!

Первая часть кода генерирует форму и передает ее на form_processing.php
Код из файла form_processing.php выложен, это второй код первого поста.

Цитата:
который без всяких обработок вставляется в тело письма:
Заказ: $buy
То что вы выложили - работает.
в этом и проблема, что если я не заполню форму вручную - приходит пустое значение, а если заполню - все ок
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод текста и нажатие кнопки на другом сайте автоматически Trizael Общие вопросы Javascript 3 25.04.2013 15:59
автоматически скролинг внизу 200 пикселеи dadli Общие вопросы Javascript 3 01.06.2012 01:07