Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 2
Регистрация: 27.10.2009
Сообщений: 109
1

Ajax не отправляет данные по кнопке submit

03.06.2014, 15:42. Показов 1341. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ajax не отправляет данные по кнопке submit.
Есть такая форма:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<form id="myForm">
<table style="margin: auto;">
    <tr >
        <td>
            <input type='text' id="title" name="title" style="width: 300px;" placeholder="Заголовок">
        </td>
    </tr>
    <tr>
        <td>
            <textarea id="msg" name="msg" style="width: 300px;" placeholder="Сообщение"></textarea>
        </td>
    </tr>   
    <tr>
        <td> <?php if  ($type==ot) echo '
            <input type="text" id="plus" name="plus" style="width: 148px;" placeholder="Плюсы">
            <input type="text" id="minus" name="minus" style="width: 148px;" placeholder="Минусы">
            ' ?>
        </td>
    </tr>
    <tr>
        <td>
            <input id="btn" type="submit" value="Отправить сообщение"><input type='reset'>
        </td>
    </tr>
</table>
</form>
Такой скрипт для кнопки submit
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$(document).ready(function(){
 
    show_messages();
    
    $("#myForm").submit(function(){
    
        var title = $("#title").val();
        var msg  = $("#msg").val();
        var plus  = $("#plus").val();
        var minus  = $("#minus").val();
        if (title =='')
        {
            alert ("Заполните заголовок!");
            return false;
        }
        if (msg =='')
        {
            alert ("Заполните текст сообщения!");
            return false;
        }
        
        alert (msg);
        
        $.ajax({
            type: "POST",
            url: "guestbook_action.php",
            data: "title="+title+"&msg="+msg+"&plus="+plus+"&minus="+minus+"&action=pr",
            success: function(msg){
                show_messages();
           }
        });
        
        return false;
    });
    
});
И, следовательно, сам обработчик guestbook_action.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
header("Content-Type: text/html; charset=UTF-8");
 
    session_start();
    ob_start();
    
    include_once("bd.php");
    
    $login = $_SESSION['login'];
    $password = $_SESSION['password'];
    $id_user = $_SESSION['id'];
    
    $flag1=false;
 
    if(empty($login) and empty($password)){
        $URL="http://test.local/";
        header ("Location: $URL");
        $flag1=true;
    }
    
 
    $title=$_REQUEST['title'];
        $msg=$_REQUEST['msg'];  
    $plus=$_REQUEST['plus'];
    $minus=$_REQUEST['minus'];
    $action=$_REQUEST['action'];
        
    $type = 'pr';
    if isset($_REQUEST['plus']){
        if ($plus != ''){
            $type = 'ot'
        }
    }
      
    if ($action=="pr")  
    {  
        $sql="INSERT INTO guestbook (id_user, title, msg, plus, minus, date, type) VALUES ('$id_user', '$title', '$msg', '$plus', '$minus', NOW(), '$type')";  
        $r=mysql_query ($sql)  or die ("<br>** Error in database table <b>".mysql_error()."</b><br>$sql");
    }  
      
    header("Location: guestbook.php");
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2014, 15:42
Ответы с готовыми решениями:

Множественая обработка формы Ajax по кнопке submit
Имеется админ панель в которой выводится из бд товары. Каждый товар можно удалить отдельно нажав...

Ajax не отправляет данные
Ранее, ниже указанный код работал без проблем, но в один момент, что-то ему начало мешать :(...

Ajax не отправляет данные на сервер
Доброго времени суток. Господа it-тишники помогите с проблемой, вот сайт...

Куда отправляет данные форма через AJAX
Здравствуйте, уважаемые форумчане! Такой весьма необычный вопрос: есть сайт smmplanner.com там в...

4
327 / 217 / 97
Регистрация: 04.11.2012
Сообщений: 638
03.06.2014, 20:44 2
IAmHated, вот это вот:
PHP
1
2
3
4
5
$title=$_REQUEST['title'];
$msg=$_REQUEST['msg'];  
$plus=$_REQUEST['plus'];
$minus=$_REQUEST['minus'];
$action=$_REQUEST['action'];
переделайте на:
PHP
1
2
3
4
5
$title=$_REQUEST['data']['title'];
$msg=$_REQUEST['data']['msg'];  
$plus=$_REQUEST['data']['plus'];
$minus=$_REQUEST['data']['minus'];
$action=$_REQUEST['data']['action'];
или просто исправьте аякс запрос на:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
            type: "POST",
            url: "guestbook_action.php",
            title: title,
            msg: msg,
            plus: plus,
            minus: minus,
            action: 'pr',
            success: function(msg){
                show_messages();
           }
        });
или
Javascript
1
2
3
4
5
6
7
8
9
10
$.post("guestbook_action.php", {
            title: title,
            msg: msg,
            plus: plus,
            minus: minus,
            action: 'pr',
            success: function(msg){
                show_messages();
           }
        });
1
1 / 1 / 2
Регистрация: 27.10.2009
Сообщений: 109
04.06.2014, 15:59  [ТС] 3
Suby, Ни один из Ваших вариантов не работает...
0
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
05.06.2014, 10:32 4
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* чтобы было понятно, где параметр, а где передаваемая переменная из скрипта */
var var_title = $("#title").val(),
    var_msg  = $("#msg").val(),
    var_plus  = $("#plus").val(),
    var_minus  = $("#minus").val();
 
$.ajax({
    type: "POST",
    url: "guestbook_action.php",
    data: {
        title: var_title,
        msg: var_msg,
        plus: var_plus,
        minus: var_minus,
        action: 'pr'
    },
    success: function(msg){
        show_messages();
   }
});
1
1 / 1 / 2
Регистрация: 27.10.2009
Сообщений: 109
05.06.2014, 13:47  [ТС] 5
mihalken, О, сейчас хоть уже какие-то параметры передавать начинает, НО в БД данные не заносит
0
05.06.2014, 13:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2014, 13:47
Помогаю со студенческими работами здесь

Есть AJAX код, который отправляет POST данные в php. Как их принять в php?
Всем привет! AJAX код отправляет post данные в php файл. Как принять эти post данные в php? Вот...

This.form.submit() отправляет форму без обязательных полей required
Добрый день, существует проблема, как я уже написал в заголовке &quot;this.form.submit() отправляет...

Индексирование текста в кнопке submit
Всем привет! В конце формы стоит &lt;input type=&quot;submit&quot; value=&quot;&quot; title=&quot;&quot;&gt;. Беру фразу из...

Как привязать дополнительную ссылку к кнопке Submit
Есть форма php два поля editbox и кнопка Submit соответственно, ведется запись в файл, задача...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru