Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка формы без регистрации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Pavel8897
Отправлено: 27 Сентября, 2017 - 16:11:36
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Авг. 2017  


Помог: 0 раз(а)




Здравствуйте! Есть форма, которая отправляется. К ней добавил скрипт, который должен отправлять ее без перезагрузки страницы. Но после этого отправка не работает. Подскажите, в чем может быть проблема.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <body>
  2.    
  3.     <form method='POST' accept-charset="UTF-8" action="send.php" id='card' style="float:left; background: #fff; box-shadow: -4px -3px 3px 6px #a5a5a5; border-radius:5px; margin: 0 auto; position: absolute; left: 580px; top: 230px;">
  4.         <div style="margin-left: 13px;">
  5.         <p style="line-height:10px;">Номер CAS</p>
  6.         <input name="numcas" type="text" style="border:1px solid #a5a5a5; border-radius: 5px; width: 380px; height: 30px; margin-bottom:10px;">
  7.         <input name="sendcard" onClick="saveform (this.form);return false;" type="submit" value="Отправить запрос"></input>
  8.         </div>
  9.     </form>
  10.    
  11.    
  12.     <?
  13.        if(isset($_POST['sendcard'])){
  14.      
  15.        $numcas = $_POST['numcas'];
  16.      
  17.            $message = "Номер CAS: $numcas";
  18.            $pagetitle = "Новая заявка с сайта \"$from\"";
  19.            $to = "....ru";
  20.            $from = "admin@center.org";
  21.            $headers  = "Content-type: text/plain; charset=utf-8 \r\n";
  22.            $headers .= "From: $from \r\n";
  23.        mail($to, $pagetitle, $message, $headers);
  24.    }?>
  25.    
  26.     <script>
  27.        $('#card').submit(function(e){
  28.            e.preventDefault();
  29.            $.ajax({
  30.              url: "send.php",
  31.              type: "POST",
  32.              data: $('#card').serialize(),
  33.              success: function(response) {
  34.                //обработка успешной отправки
  35.              },
  36.              error: function(response) {
  37.                //обработка ошибок при отправке
  38.             }
  39.            });
  40.        });
  41.    </script>
  42. </body>
 
 Top
andrewkard
Отправлено: 27 Сентября, 2017 - 20:50:23
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Pavel8897 пишет:
Есть форма, которая отправляется. К ней добавил скрипт, который должен отправлять ее без перезагрузки страницы. Но после этого отправка не работает.

jQuery подключен? Почему решили что, не отправляется, дебаг ставили? В консоль браузера смотрели?
 
 Top
arbuzmaster
Отправлено: 27 Сентября, 2017 - 21:45:23
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Блин! Опять одна и та же песня! Радость
Вот чего тебе стоит хотя бы посмотреть уроки по PHP на youtbe для начинающих, если уж книжки читать не хочешь? Что бы понимать, что и зачем ты делаешь!
Во первых нужно отделять мух от котлет - php от HTML+JS, то есть разделить это на разные файлы! И иметь хотя бы пространственное понятие, как работает AJAX! Про отсутствие проверки загрузки всех элементов DOM я так понимаю, тебе уже рассказали Подмигивание
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.         $("#card").submit(function(){
  3.                 var str = $(this).serialize();
  4.                 $.ajax( { type: "POST", url: "send.php", data: str, success: function(msg){     //в msg  будет ответ от php скрипта, если ты его отправишь }
  5.                 });
  6.                 return false;
  7.         });
  8. });

И так для начала:
1. у тебя должно быть как минимум 2 файла - index.html(php) и send.php
2. Нужно убрать action="send.php" и method='POST' из формы, так как теперь эти параметры задаются в AJAX. accept-charset="UTF-8" тоже не нужен, так как в Jquery по умолчанию AJAX передает "application/x-www-form-urlencoded; charset=UTF-8"
3. Весь php код перенеси в send.php
4.onClick="saveform (this.form);return false;" - что это? Убери это из INPUT submit, в твоем коде нет такой функции!

(Отредактировано автором: 27 Сентября, 2017 - 22:16:52)

 
 Top
Pavel8897
Отправлено: 28 Сентября, 2017 - 13:34:06
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Авг. 2017  


Помог: 0 раз(а)




arbuzmaster пишет:
Блин! Опять одна и та же песня! Радость
Вот чего тебе стоит хотя бы посмотреть уроки по PHP на youtbe для начинающих, если уж книжки читать не хочешь? Что бы понимать, что и зачем ты делаешь!
Во первых нужно отделять мух от котлет - php от HTML+JS, то есть разделить это на разные файлы! И иметь хотя бы пространственное понятие, как работает AJAX! Про отсутствие проверки загрузки всех элементов DOM я так понимаю, тебе уже рассказали Подмигивание
CODE (javascript):
скопировать код в буфер обмена

$(document).ready(function(){
$("#card").submit(function(){
var str = $(this).serialize();
$.ajax( { type: "POST", url: "send.php", data: str, success: function(msg){ //в msg будет ответ от php скрипта, если ты его отправишь }
});
return false;
});
});


И так для начала:
1. у тебя должно быть как минимум 2 файла - index.html(php) и send.php
2. Нужно убрать action="send.php" и method='POST' из формы, так как теперь эти параметры задаются в AJAX. accept-charset="UTF-8" тоже не нужен, так как в Jquery по умолчанию AJAX передает "application/x-www-form-urlencoded; charset=UTF-8"
3. Весь php код перенеси в send.php
4.onClick="saveform (this.form);return false;" - что это? Убери это из INPUT submit, в твоем коде нет такой функции!

(Отредактировано автором: 27 Сентября, 2017 - 22:16:52)


Спасибо огромное! Очень помогли!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB