Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос про ajax / 25 сообщений из 29, страница 1 из 2
07.12.2012, 11:12
    #38069161
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Здравствуйте.
Хотелось бы в курсовике сделать изменение таблицы с помощью ajax.
В общем, к существующей таблице добавляется в самый низ ещё одна строка, при этом вся таблица не пересоздаётся.
Так вообще сделать можно?
...
Рейтинг: 0 / 0
07.12.2012, 11:27
    #38069209
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
А то!
...
Рейтинг: 0 / 0
07.12.2012, 11:36
    #38069232
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrcЗдравствуйте.
Хотелось бы в курсовике сделать изменение таблицы с помощью ajax.
В общем, к существующей таблице добавляется в самый низ ещё одна строка, при этом вся таблица не пересоздаётся.
Так вообще сделать можно?можно даже без ajax
http://jsfiddle.net/HSLsA/
...
Рейтинг: 0 / 0
07.12.2012, 11:46
    #38069265
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
off
Паганельможно даже без ajax

/me думает: не - куда ж без него?..
/me вспоминает: "...Куплю оверлок - хоть узнаю что это такое..."
...
Рейтинг: 0 / 0
07.12.2012, 11:51
    #38069279
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Поясните как это сделать.
Напрмер
Файлы, с неполным содержанием

1)requestobject .js (создания объекта XMLHttpRequest)
Код: sql
1.
2.
3.
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject() 
{………………………….



2) settime.js (доступа к серверу)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function http_zapros()
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    xmlHttp.open("GET", "settime.php?rr=1", true)
…………..
………………
   if (xmlHttp.status == 200) 
    {
      // Читаем текстовый ответ сервера
      xmlResponse = xmlHttp.responseText;
            document.getElementById("myDiv").innerHTML =   '<i>' + xmlResponse + '</i>';


[
3)файл settime.php (обращается к файлу где храниться нужный код)
Код: sql
1.
2.
3.
4.
5.
6.
<?php
$name = $_GET['rr'];
if ($name==1) {
echo   " <tr>    <td>111</td>    <td>111</td>    <td>111</td>  </tr>";
}
?>


4)Index.php (поясните как изменить этот файл, чтобы код из settime.php встал третьей строкой в таблицу)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<table width="80%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <th scope="row">Первая колонка </th>
    <th scope="row">Вторая колонка </th>
    <th scope="row">Третья колонка </th>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  </table>


Раньше таблица в Index.php называлась myDiv и код в settime.php формировал вместо куска таблицы, полную и заменял её.
Объясните как вставить сформированный код между</tr> и </table>?
...
Рейтинг: 0 / 0
07.12.2012, 12:01
    #38069317
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrcОбъясните как вставить сформированный код между</tr> и </table>?
Вместо
Код: sql
1.
document.getElementById("myDiv").innerHTML =   '<i>' + xmlResponse + '</i>';


предложенное Вам решение
...
Рейтинг: 0 / 0
07.12.2012, 12:09
    #38069336
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
переписывать не хочется..
В этот способ буду вникать потом, времени нет..
Если нет возможности вставить код между</tr> и </table>, лучше изменю settime.php и опять буду формировать целую таблицу заново.
...
Рейтинг: 0 / 0
07.12.2012, 12:34
    #38069420
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function http_zapros()
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    xmlHttp.open("GET", "settime.php?rr=1", true)
…………..
………………
   if (xmlHttp.status == 200) 
    {
      // Читаем текстовый ответ сервера
      xmlResponse = xmlHttp.responseText;
      $(xmlResponse).appendTo('table');
...
Рейтинг: 0 / 0
07.12.2012, 14:45
    #38069850
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Если изменить так как выше то получается что,
код из settime.php полностью заменяет собой всю таблицу из index.php.
...
Рейтинг: 0 / 0
07.12.2012, 14:51
    #38069865
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
1. Покажите, что в xmlResponse
2. Разберитесь с appendTo
...
Рейтинг: 0 / 0
07.12.2012, 14:52
    #38069867
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
можете закинуть все это на хостинг и выложить сюда ссылку?
...
Рейтинг: 0 / 0
07.12.2012, 15:44
    #38069986
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Паганельможете закинуть все это на хостинг и выложить сюда ссылку?
files.mail.ru/NOXY4Y
тут архив.. я чтот запутался.. изменил, уже не работает ..
раскоменть document.getElementById("myDiv").innerHTML = xmlResponse;
закоменть $(xmlResponse).appendTo('myDiv');
и должно заработать как первоначально..
...
Рейтинг: 0 / 0
07.12.2012, 16:10
    #38070029
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrcПаганельможете закинуть все это на хостинг и выложить сюда ссылку?
files.mail.ru/NOXY4Y
тут архив..какой архив? я, например, по PHP не спец, я разработчик Asp.Net, что я с ним буду делать?
Вы про бесплатные PHP хостинги разве ничего не слышали?
...
Рейтинг: 0 / 0
08.12.2012, 00:09
    #38070672
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Слышал но не использовал.. Как то давно пытался для интереса набросать подобие сайта и timeweb.ru, но потратил деньги и время, но из-за ненадобности ничего не доделал..
Сейчас посмотрел несколько вариантов.. и решил всё же спросить у вас..
Какой бы вы рекомендовали бесплатный хостинг, чтобы выложить эту тестовую лабуду которую я набросал?
...
Рейтинг: 0 / 0
08.12.2012, 00:10
    #38070673
z-js
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrcЗдравствуйте.
Хотелось бы в курсовике сделать изменение таблицы с помощью ajax.
В общем, к существующей таблице добавляется в самый низ ещё одна строка, при этом вся таблица не пересоздаётся.
Так вообще сделать можно?

1. Для работы c любым HTML-элементом, в данном случае с таблицей, этот элемент надо сначала найти. Для облегчения поиска, присвоим таблице уникальный ID:
Код: html
1.
<table id="table1" width="80%" border="1" cellspacing="0" cellpadding="0">

и позже можно будет легко найти нужную таблицу:
Код: javascript
1.
var table = document.getElementById("table1");


2. В вашей задаче можно обойтись и без ajax, но допустим, что сервер вернул нам готовую строку:
Код: javascript
1.
var response = "<tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr>";


3. Соберем все вместе в упрощенном виде (без ajax):
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<html>
  <head>
    <script type="text/javascript">
      var response = "<tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr>"; // ответ сервера

      function addRow(tableId,content)
      {

        var table = document.getElementById(tableId);
        if (table)
        {
          var m;                
          var html = ((m = content.match(/^<tr>(.*)<\/tr>$/i)) != null) ? m[1] : content;
          var tr = table.insertRow(-1);
          if (navigator.userAgent.match(/MSIE/i)) // в IE tr.innerHTML только для чтения
          {
            var div = document.createElement("div");
            div.style.display = "none";
            div.innerHTML = "<table><tr>" + html + "</tr></table>";
            document.getElementsByTagName('body')[0].appendChild(div);
            var tds = div.getElementsByTagName("td");
            while (tds.length)
            {
              tr.appendChild(tds[0]);
            }
            div.parentNode.removeChild(div);
          }
          else
            tr.innerHTML = html;  // в других браузерах просто присвоим innerHTML
        }
      }
    </script>
  </head>
  <body>
    <table id="table1" width="80%" border="1" cellspacing="0" cellpadding="0">
      <tr><th>Первая колонка</th><th>Вторая колонка</th><th>Третья колонка</th></tr>
      <tr><td>111</td><td>222</td><td>333</td></tr>
      <tr><td>444</td><td>555</td><td>666</td></tr>
    </table>
    <br><br>
    <input type="button" value="Добавить строку" onclick="addRow('table1',response); return false;"/>
  </body>
</html>

...
Рейтинг: 0 / 0
08.12.2012, 00:30
    #38070693
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrcСлышал но не использовал.. Как то давно пытался для интереса набросать подобие сайта и timeweb.ru, но потратил деньги и время, но из-за ненадобности ничего не доделал..
Сейчас посмотрел несколько вариантов.. и решил всё же спросить у вас..
Какой бы вы рекомендовали бесплатный хостинг, чтобы выложить эту тестовую лабуду которую я набросал? http://www.webservis.ru/
...
Рейтинг: 0 / 0
09.12.2012, 23:54
    #38071778
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
z-js3. Соберем все вместе в упрощенном виде (без ajax):
+
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<html>
  <head>
    <script type="text/javascript">
      var response = "<tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr>"; // ответ сервера

      function addRow(tableId,content)
      {

        var table = document.getElementById(tableId);
        if (table)
        {
          var m;                
          var html = ((m = content.match(/^<tr>(.*)<\/tr>$/i)) != null) ? m[1] : content;
          var tr = table.insertRow(-1);
          if (navigator.userAgent.match(/MSIE/i)) // в IE tr.innerHTML только для чтения
          {
            var div = document.createElement("div");
            div.style.display = "none";
            div.innerHTML = "<table><tr>" + html + "</tr></table>";
            document.getElementsByTagName('body')[0].appendChild(div);
            var tds = div.getElementsByTagName("td");
            while (tds.length)
            {
              tr.appendChild(tds[0]);
            }
            div.parentNode.removeChild(div);
          }
          else
            tr.innerHTML = html;  // в других браузерах просто присвоим innerHTML
        }
      }
    </script>
  </head>
  <body>
    <table id="table1" width="80%" border="1" cellspacing="0" cellpadding="0">
      <tr><th>Первая колонка</th><th>Вторая колонка</th><th>Третья колонка</th></tr>
      <tr><td>111</td><td>222</td><td>333</td></tr>
      <tr><td>444</td><td>555</td><td>666</td></tr>
    </table>
    <br><br>
    <input type="button" value="Добавить строку" onclick="addRow('table1',response); return false;"/>
  </body>
</html>


Блин z-js ты мегачел!)))) Спасибо тебе за помощь!!))

Всем тоже большое спасибо!!
...
Рейтинг: 0 / 0
10.12.2012, 15:33
    #38072633
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
z-js Ваш код мне очень помог, но появилась новая проблема.. с тегом form.
В переменной response, тобиш ответе сервера
Код: sql
1.
var response = "<tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr>"; // ответ сервера


В моём случае эта переменная примерно такая
Код: sql
1.
var response = "<form action="index.php" method="post" name="addrec"><tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr></form>"; // ответ сервера


И при использовании этого кода
Код<html>
<head>
<script type="text/javascript">
var response = "<tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr>"; // ответ сервера

function addRow(tableId,content)
{

var table = document.getElementById(tableId);
if (table)
{
var m;
var html = ((m = content.match(/^<tr>(.*)<\/tr>$/i)) != null) ? m[1] : content;
var tr = table.insertRow(-1);
if (navigator.userAgent.match(/MSIE/i)) // в IE tr.innerHTML только для чтения
{
var div = document.createElement("div");
div.style.display = "none";
div.innerHTML = "<table><tr>" + html + "</tr></table>";
document.getElementsByTagName('body')[0].appendChild(div);
var tds = div.getElementsByTagName("td");
while (tds.length)
{
tr.appendChild(tds[0]);
}
div.parentNode.removeChild(div);
}
else
tr.innerHTML = html; // в других браузерах просто присвоим innerHTML
}
}
</script>
</head>
<body>
<table id="table1" width="80%" border="1" cellspacing="0" cellpadding="0">
<tr><th>Первая колонка</th><th>Вторая колонка</th><th>Третья колонка</th></tr>
<tr><td>111</td><td>222</td><td>333</td></tr>
<tr><td>444</td><td>555</td><td>666</td></tr>
</table>
<br><br>
<input type="button" value="Добавить строку" onclick="addRow('table1',response); return false;"/>
</body>
</html>

Тег form закрывается сразу после его открытия.. и мой код на добавление данных перестаёт работать.. т.е. на практике на странице
переменная response превращается в
Код: sql
1.
 response = "<form action="index.php" method="post" name="addrec"></form><tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr>"; // ответ сервера 

Как это исправить?

PS:Т.е.
Код: sql
1.
 <form> html теги </form> !превращается !->>>> <form>  </form>html теги
...
Рейтинг: 0 / 0
10.12.2012, 16:50
    #38072833
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Извините что второй раз подряд, но вот ссылка http://jsfiddle.net/zQrLW/ где проблему можно увидеть нагляднее.
Если нажать на кнопку "добавить строку", а затем выделить получившуюся таблицу и нажать "Исходный код выделенного фрагмента", то там видно тег form сразу закрывается после открытия!
Код: sql
1.
2.
3.
<tr><td>444</td><td>555</td><td>666</td></tr>
    <tr><form></form><td>Колонка  №1</td><td>Колонка №2</td><td>Колонка  №3</td></tr></tbody></table>
    <br><br>


Хотя в переменной задано, что
Код: sql
1.
<form><tr><td>Колонка  №1</td><td>Колонка №2</td><td>Колонка  №3</td></tr></form>
...
Рейтинг: 0 / 0
10.12.2012, 17:37
    #38072951
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
ну и при чем тут JavaScript и Ajax ?
Вы попробуйте эту хрень
Код: html
1.
2.
3.
4.
5.
6.
7.
<table id="table1" width="80%" border="1" cellspacing="0" cellpadding="0">
       <tr><th>Первая колонка</th><th>Вторая  колонка</th><th>Третья колонка</th></tr>
      <tr><td>111</td><td>222</td><td>333</td></tr>
      <tr><td>444</td><td>555</td><td>666</td></tr>
        
<form action="index.php" method="post" name="addrec"><tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr></form>    
</table>


создать хотя бы статически
...
Рейтинг: 0 / 0
10.12.2012, 17:45
    #38072974
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Паганельну и при чем тут JavaScript и Ajax ?
Вы попробуйте эту хрень
Код: html
1.
2.
3.
4.
5.
6.
7.
<table id="table1" width="80%" border="1" cellspacing="0" cellpadding="0">
       <tr><th>Первая колонка</th><th>Вторая  колонка</th><th>Третья колонка</th></tr>
      <tr><td>111</td><td>222</td><td>333</td></tr>
      <tr><td>444</td><td>555</td><td>666</td></tr>
        
<form action="index.php" method="post" name="addrec"><tr><td>Колонка №1</td><td>Колонка №2</td><td>Колонка №3</td></tr></form>    
</table>


создать хотя бы статически

Мне нужно решить проблему с тегом form, а не реализовать статически... К тому же почти всё работает. Только тег form мешает. Возвращаться к прошлому курсу и делать курсач на одном php не хочу.
...
Рейтинг: 0 / 0
10.12.2012, 17:57
    #38073008
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrcМне нужно решить проблему с тегом form, а не реализовать статически...значит попробовать нажать Ctrl+C/Ctrl+V не желаете? ну и ладно
...
Рейтинг: 0 / 0
10.12.2012, 18:14
    #38073031
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
Попробовал.. грустно.. статический тоже ерунда..(( что делать?
...
Рейтинг: 0 / 0
10.12.2012, 18:30
    #38073059
z-js
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
fjfrc,

Я не совсем хорошо представпяю, что вам в конечном итоге нужно: форма на каждой новой строчке, таблицы/строчки таблицы в одной форме или еще что?! Может хотя бы статический вариант выложите, как это все должно выглядеть до нажатия на кнопку и после.
...
Рейтинг: 0 / 0
10.12.2012, 20:24
    #38073201
fjfrc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про ajax
z-js Курс раб журнал событий, например заявок.
При нажатии кнопки добавить, в таблице, появляется новая строка, с полями ввода новой заявки и с кнопкой добавить.
Что-то вроде этого http://jsfiddle.net/ARQmB/
Только в начале список из двух строк. при нажатии в главном меню на кнопку добавить новую заявку (ajax), в таблице появляется третья строка с генерированная php(ajax) кодом состоящая <form name="insonis" action="add.php" method="post"> <input name="fld" id="fld" type="text" size="80" /> ещё несколько таких же полей <input type="submit" id="inson" name="inson" value="Ввод" /></form> после нажатие на кнопку происходит обращение к mysql и данные вбиваются в базу...
Вот что я хочу.. чтобы внизу таблицы появилась обычная форма для ввода в базу mysql.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос про ajax / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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