Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 12

Отправка нескольких переменных $.ajax

29.11.2011, 15:29. Показов 6122. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, где совершил ошибку, не срабатывает $.ajax

Форму целиком выкладывать не стал, когда испытывал без jS атрибуты <form> естественно были заполнены, всё работало, но с добавлением js-скрипта убрал атрибуты, так как в .ajax они указываются, но скрипт не срабатывает... Подскажите где закралась ошибка
HTML5
1
2
3
4
<form> 
          Форма 
                 <div class="button_reg"><input type="submit" id="regbut" value="Регистрация !" /></div>
            </form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(document).ready(function(){
         $('#regbut').click(function()
              {
                   
                  if (($('#captha_prov').attr('src')=='design/no.png')||
                  ($('#email_prov').attr('src')=='design/no.png')||
                  ($('#login_prov').attr('src')=='design/no.png')||
                  ($('#pass_prov').attr('src')=='design/no.png')||
                  ($('#tpass_prov').attr('src')=='design/no.png'))  {
                    alert ( "Пожалуйста заполните все поля" );
                    return false;
                       }
                       else{
                              $.ajax({  
                                       type: "POST",  
                                       url:  "dop_files/reg_new.php",
                                       data: "login="+$('#login').val()+"&pass="+$('#pass').val()+"&email="+$('#email').val()  
                                           });
                              
                                }   
                });
 
});
PHP
1
2
3
4
5
<?    
               if (isset($_POST['login'])) {$login = $_POST['login'];if ($login == '') {unset($login);}}
               if (isset($_POST['pass'])) {$pass = $_POST['pass'];if ($pass == '') {unset($pass);}}
               if (isset($_POST['email'])) {$email = $_POST['email'];if ($email == '') {unset($email);}}
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2011, 15:29
Ответы с готовыми решениями:

Ajax отправка нескольких String
Добрый день. Нужно отправить несколько строк в Spring, хотелось бы, по тому как отправить массив получается, а вот отдельно строки нет....

Получение нескольких переменных ajax
Я использую достаточно распространенный код для добавления комментариев: Форма добавления комментария: &lt;form...

Ajax передача нескольких переменных на сервер
Доброго времени суток. Необходимо аяксом передать четыре переменные в php обработчик, доходит только последняя var...

9
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.11.2011, 16:22
Добавьте атрибуты name
самой форме дать id например
HTML5
1
2
<form id="myForm"> 
          Форма
Аяксом передавать отсериализованные данные

JavaScript
1
2
3
4
5
                              $.ajax({  
                                       type: "POST",  
                                       url:  "dop_files/reg_new.php",
                                       data: $('myForm').serialize();
                                           });
В пхп менять ничего не надо.
0
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 12
29.11.2011, 16:30  [ТС]
не помогло.
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.11.2011, 16:32
сори ошибку допустил

JavaScript
1
2
3
4
5
                           $.ajax({  
                                       type: "POST",  
                                       url:  "dop_files/reg_new.php",
                                       data: $('#myForm').serialize()
                                           });
0
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 12
29.11.2011, 16:34  [ТС]
а что изменилось? точку с запятой убрали? я тоже убрал когда браузер заругался, скрипты считываются без ошибок, и если в форму прописываю ...
HTML5
1
<form method="post" action="dop_files/reg_new.php">
... и блокирую jS тоже всё уходит в файл .php и заносится в БД. а через ajax не хочет, хотя соседний скрипт с одной переменной работает... чудеса
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.11.2011, 16:36
JavaScript
1
$('#myForm')
Там решотку забыл поставить
0
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 12
29.11.2011, 16:41  [ТС]
нет всё равно не срабатывает
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.11.2011, 16:42
давайте всю форму, и пхп и js глянем)
0
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 12
29.11.2011, 16:53  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form method="post" action="dop_files/reg_new.php">
               <p>Регистрация нового пользователя</p>
                 <label for="login">Введите логин (3-20 символов)*:</label><br />
                 <input type="text" size="20px" maxlength="20" name="login" id="login" value=""/><img src="design/no.png" id="login_prov" class="form_proverka"/><br />
                 <label for="pass">Введите пароль (6-20 символов)*:</label><br />
                 <input type="password" size="20px" maxlength="20" name="pass" id="pass"/><img src="design/no.png" id="pass_prov" class="form_proverka"/><br />
                 <label for="tPass">Повторите пароль:</label><br />
                 <input type="password" size="20px" maxlength="20" name="tPass" id="tPass"/><img src="design/no.png" id="tpass_prov" class="form_proverka"/><br />
                 <label for="email">Введите e-mail*:</label><br />
                 <input type="text" size="20px" maxlength="50" name="email" id="email"/><img src="design/no.png" id="email_prov" class="form_proverka"/><br />
                 <label for="prov">Введите ниже - Close:</label><br />
                 <input type="text" size="20px" maxlength="50" name="prov" id="captha"/><img src="design/no.png" id="captha_prov" class="form_proverka"/><br />
                 
                 <br />
                 <div class="button_reg"><input type="submit" id="regbut" value="Регистрация !" /></div>
            </form>
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
41
42
   <?    
               if (isset($_POST['login'])) {$login = $_POST['login'];if ($login == '') {unset($login);}}
               if (isset($_POST['pass'])) {$pass = $_POST['pass'];if ($pass == '') {unset($pass);}}
               if (isset($_POST['email'])) {$email = $_POST['email'];if ($email == '') {unset($email);}}
    
    
    
        
    $result = mysql_query("SELECT id FROM userlist WHERE login='$login'",$db);
    $myrow = mysql_fetch_array($result);
    if (!empty($myrow['id'])) {   
    echo "Извините, введённый вами логин уже зарегистрирован. Введите другой логин." ;
    echo  "<br><br> <input name='back' type='button' value='вернуться назад' onclick='javascript:self.back();'>";
    exit;
    }
 
  
 
    
    $reg_date = date("Y-m-d");
     
if (isset($login) && isset($pass) && isset($email))
{
 
$result = mysql_query ("INSERT INTO userlist (login,pass,email,reg_date) 
VALUES ('$login','$pass','$email','$reg_date')");
 
 echo "<table align='center' width='500'><tr><td>";
 
if ($result == 'true') { echo "Ок"; }
                 
else {echo "<p>Ваш Аккаунт не создан <a href=../index.php>Главная страница</a> </p>";}
 
 
}        
else 
 
{
echo "<p>Не вся информация</p>";
}
         
 ?>

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$(document).ready(function(){
         $('#regbut').click(function()
              {
                   
                  if (($('#captha_prov').attr('src')=='design/no.png')||
                  ($('#email_prov').attr('src')=='design/no.png')||
                  ($('#login_prov').attr('src')=='design/no.png')||
                  ($('#pass_prov').attr('src')=='design/no.png')||
                  ($('#tpass_prov').attr('src')=='design/no.png'))  {
                    alert ( "Пожалуйста заполните все поля" );
                  return false;
                       }
                       else{
                              $.ajax( { type:"POST",
                                       url:"dop_files/reg_new.php",
                                       data: $('#myform').serialize()
                                       } );
                         return true;
                                   
                });
 
});
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.11.2011, 17:17
Все прекрасно работает
1) забыли ковычку в js
2) надо еще добавить в аякс dataType и success
3) надо вернуть false после сабмита
4) надо присвоить id формы
5) надо соблюдать формат ввода ийдишников, мой id выглядел так myForm а ваш myform
Итого. Код js
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
$(document).ready(function(){
         $('#regbut').click(function()
              {
                       
                  if (($('#captha_prov').attr('src')=='design/no.png')||
                  ($('#email_prov').attr('src')=='design/no.png')||
                  ($('#login_prov').attr('src')=='design/no.png')||
                  ($('#pass_prov').attr('src')=='design/no.png')||
                  ($('#tpass_prov').attr('src')=='design/no.png'))  {
                    alert ( "Пожалуйста заполните все поля" );
                  return false;
                       }
                       else{
                              $.ajax( { type:"POST",
                                       url:"dop_files/reg_new.php",
                       dataType: "text",
                                       data: $('#myForm').serialize(),
                                       success: function(data) {
                                         alert (data);
                                       }
                                       } );
                         return true;
                    }               
                });
 
});
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  <form method="post" action="dop_files/reg_new.php" id="myForm"  onSubmit="return fasle">
               <p>Регистрация нового пользователя</p>
                 <label for="login">Введите логин (3-20 символов)*:</label><br />
                 <input type="text" size="20px" maxlength="20" name="login" id="login" value=""/><img src="design/no1.png" id="login_prov" class="form_proverka"/><br />
                 <label for="pass">Введите пароль (6-20 символов)*:</label><br />
                 <input type="password" size="20px" maxlength="20" name="pass" id="pass"/><img src="design/no1.png" id="pass_prov" class="form_proverka"/><br />
                 <label for="tPass">Повторите пароль:</label><br />
                 <input type="password" size="20px" maxlength="20" name="tPass" id="tPass"/><img src="design/no1.png" id="tpass_prov" class="form_proverka"/><br />
                 <label for="email">Введите e-mail*:</label><br />
                 <input type="text" size="20px" maxlength="50" name="email" id="email"/><img src="design/no1.png" id="email_prov" class="form_proverka"/><br />
                 <label for="prov">Введите ниже - гидромуфта:</label><br />
                 <input type="text" size="20px" maxlength="50" name="prov" id="captha"/><img src="design/no1.png" id="captha_prov" class="form_proverka"/><br />
                 
                 <br />
                 <div class="button_reg"><input type="submit" id="regbut" value="Регистрация !" /></div>
            </form>
пхп не проверял, тестил сам аякс запрос.
я там еще имена картиночек попправил чтобы условие прошло))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2011, 17:17
Помогаю со студенческими работами здесь

Ajax отправка-получение
Всем привет!) В общем ребята задача: Заполнил поля. Нажал кнопку. Получил результат. Ошибок консоль не выдает. А результат не...

AJAX отправка формы
Есть форма отправки письма админу. Делаю сабмит с помощью AJAX. Разметка формы &lt;form method=&quot;post&quot;...

Отправка формы Ajax
Прошу помощи. Есть обработчик форм с валидацией, как правильно его переписать без валидации ( убрать валидацию) собственно сам код: ...

Отправка через AJAX
На странице есть кнопка &lt;button type=&quot;submit&quot; name=&quot;but_save&quot;&gt;Сохранить&lt;/button&gt; Есть ее обработка if(isset($_POST)) ...

AJAX отправка формы
Собственно на локальной машине код отрабатывает без ошибок, а на хостинге выдает ошибку


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru