powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ajax ошибка в добавлении поля
12 сообщений из 12, страница 1 из 1
Ajax ошибка в добавлении поля
    #39475045
Kat1619
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не добавляет в базу поле из 3 селекта, помогите, пожалуйста, в чем ошибка?

index.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.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
<script src="ajax_framework.js" language="javascript"></script>
    
<script language="javascript" type="text/javascript">
function getXMLHTTP() {
        var xmlhttp=false;  
        try{
            xmlhttp=new XMLHttpRequest();
        }
        catch(e)    {       
            try{            
                xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e){
                try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch(e1){
                    xmlhttp=false;
                }
            }
        }
            
        return xmlhttp;
    }
    
    function getDirection(trainerId) {      
        
        var strURL="findState.php?trainer="+trainerId;
        var req = getXMLHTTP();
        
        if (req) {
            
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {                        
                        document.getElementById('statediv').innerHTML=req.responseText;
                        document.getElementById('citydiv').innerHTML='<select name="full_date">'+'<option>Выберите дату занятия</option>'+'</select>';                      
                    } else {
                        alert("Problem while using XMLHTTP:\n" + req.statusText);
                    }
                }               
            }           
            req.open("GET", strURL, true);
            req.send(null);
        }       
    }
    function getSchedule(trainerId,directionId) {       
        var strURL="/findCity.php?trainer="+trainerId+"&direction="+directionId;
        var req = getXMLHTTP();
        
        if (req) {
            
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {                        
                        document.getElementById('citydiv').innerHTML=req.responseText;                      
                    } else {
                        alert("Problem while using XMLHTTP:\n" + req.statusText);
                    }
                }               
            }           
            req.open("GET", strURL, true);
            req.send(null);
        }
                
    }
    
    </script>
 <script src="ajax_framework.js" language="javascript"></script>
 <div id="insert_response"></div>
<form action="javascript:insert()" method="post">
 
 
<center>
<table width="45%"  cellspacing="0" cellpadding="0">
  <tr>
    <td width="75">Ваш тренер</td>
     <td width="50">:</td>
    <td  width="150"><select name="trainer" onChange="getDirection(this.value)">
    <option value="">Выберите тренера</option>
    <?php while ($row=$result->fetch_array(MYSQLI_ASSOC)) { ?>
    <option value=<?php echo $row['id_trainer']?>><?php echo $row['trainer']?></option>
    <?php } ?>
    </select></td>
  </tr>
  <tr style="">
    <td>Направление</td>
    <td width="50">:</td>
    <td ><div id="statediv"><select name="direction" >
    <option>Выберите направление</option>
        </select></div></td>
  </tr>
 
 
 <tr style="">
    <td>Выберите дату проведения занятия</td>
    <td width="50">:</td>
    <td ><div id="citydiv" name="citydiv">
    <select name="full_date" id="full_date">
    <option>Дата</option>
        </select></div></td>
    
 
 
<tr style="">
    <td><label for="id_subscription">Номер вашего абонемента:</label><br/></td>
    <td width="50">:</td>
<td ><input type="text" name="id_subscription" id="id_subscription" size="30" value=""/><br/></td>
 
   
    
<tr style=""> <td> <td> <td>
<input type="submit" name="Submit" value="Insert"/></td></tr>
</table>
</center>
</form>
</head>
 
</html>







form.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<meta charset="utf-8">
 
<?php 
require 'dbConfig.php';
//require_once("header.php");
$id_subscription = trim($_REQUEST['id_subscription']);
$citydiv = trim($_REQUEST['full_date']);
 
 
 
$insert_sql = "INSERT INTO Attendance (`id_subscription`, `id_schedule`) VALUES (".$id_subscription.",".$citydiv.")";
$result=$con->query($insert_sql);
//var_dump($result);
 
if ($result == true)
{
echo "<p>Вы записались на занятие, если хотите записаться еще на одно занятие, то вернитесь на страницу назад</p>";}
else {
echo "<p>ошибка</p>";
}
die;
?>



ajax_framework.js

Код: 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.
function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}
var http = createObject();
 
 
 
var nocache = 0;
 
function insert() {
 document.getElementById('insert_response').innerHTML = "Just a second..."
 var req = getXMLHTTP();
var id_subscription= encodeURI(document.getElementById('id_subscription').value);
var full_date = encodeURI(document.getElementById('full_date').value);
 
nocache = Math.random();
http.open('get', 'form.php?id_subscription='+id_subscription+'&full_date=' +full_date+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
 
function insertReply() {
if(http.readyState == 4){ 
var response = http.responseText;
document.getElementById('insert_response').innerHTML = 'Site added:'+response;
 }
 }
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475060
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F12 нажимаешь... Вкладка "сеть"... Мм... отлаживаешь...
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475064
Kat1619
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett, если бы я не испробовала все свои способы и хоть один из них бы сработал, то не писала бы сюда, не?
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475066
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой то же результат ты получила. Ошибка может какая-то? Посмотри в инструментах разработка какой запрос отправляется, корректен ли он. Исключить все лишнее, можно будет сконцентрироваться на проблемном месте. А так вряд ли кому то захочется изучать всю эту портянку.
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475070
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если citydiv не число, о там кавычки нужны. Лучше писать не "ошибка" в случае ошибки, а читать конкретно что там за ошибка и выводить ее. Все драйвера это умеют.
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475071
Kat1619
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

ошибка в строке
var full_date = encodeURI(document.getElementById('full_date').text); ф файле js
Uncaught TypeError: Cannot read property 'text' of null, но как исправить идей нет
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475075
Kat1619
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

без js все добавляется, с ним нет
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475084
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поди скрипт выполняется раньше, чем появляется поле с указанным id? Не проще это на jquety , например, делать?
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475086
Kat1619
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

вообще задача стоит именно с ajax, проблема в том, что поле citydiv находится раньше в 2 функциях, и как потом прописать его в js
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475093
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все скрипты вниз убрать.
В jquery есть куда более удобная обёртка для ajax
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475094
Kat1619
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

можете помочь реализовать?
...
Рейтинг: 0 / 0
Ajax ошибка в добавлении поля
    #39475217
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ajax ошибка в добавлении поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]