Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2015, 21:45
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

Динамически редактируемая html таблица
Доброго времени суток, форумчане!
Проблема в том, что возникла задача в реализации динамической таблицы на сайте. Дабы не париться с подключаемыми pear и прочими библиотеками было решено сделать это всё на php, html, js

Привожу кусочек кода:

$(function ()    {
    $('td#editable').click(function(e)    {
        var t = e.target || e.srcElement;
        var elm_name = t.tagName.toLowerCase();
        if(elm_name == 'input') {return false;}
        var val = $(this).html();
        var code = '<input type="text" name="ids" id="edit" size=5px value="'+val+'"/>'; 
        var name = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17];
		for (var name in val) {
		var val=name[name];
		};
		$(this).empty().append(code);
        $('#edit').focus();
        $('#edit').blur(function()  {
            var val = $(this).val();
            $(this).parent().empty().html(val);
        });
    });

    $(window).keydown(function(event){
        if(event.keyCode == 13) {
            $('#edit').blur();
        }
    });
});


Но сама задача такова - сделать это для каждого элемента статичной таблицы с возможностью записи в переменные php для записи в базу данных

знаний ajax и js всего-ничего, прошу вашей помощи :с
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2015, 06:57
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

просто кусочек говнокода, пытался реализовать это через массивы.
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2015, 10:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если таблица не слишком большая - зачем париться с динамическими временными инпутами? Тем более если данные надо будет отправлять на сервер - инпуты сделают все за тебя.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2015, 14:04
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

прошу прощения, я не ясно разъяснил свою задачу

с таблицей проблем нет.


просто, проблема в том, чтобы мне надо отследить каждую редактируемую область и записать её в переменную php для дальнейших операций.
грубо говоря, просто живые таблицы с отслеживанием переменных.

я не могу отследить значение каждого поля
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2015, 14:30
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

извиняюсь, вот:

<table align="center" cellpadding="15" width="700" height="400">
<tr>
<td>Количество детей:</td><td id="editable"></td><td>	<input type="text" name="field2" value="'.$field2.'"  />	</td> 
</tr>

<tr>
<td>Количество сирот:</td><td>	<input type="text" name="field3" value="'.$field3.'" />		</td><td>	<input type="text" name="field4" value="'.$field4.'" />		</td>
</tr>

<tr>
<td>Прочие льготные квоты:</td><td>		<input type="text" name="field5" value="'.$field5.'" />		</td><td>	<input type="text" name="field6" value="'.$field6.'" />		</td>
</tr>

<tr>
<td>Квартал:</td><td>	<input type="text" name="field7" value="'.$field7.'" />		</td><td>	<input type="text" name="field8" value="'.$field8.'" />		</td>
</tr>

</table>
<br><br>
	<center>
		<input type="submit" name="ready" id="ready" /></center>


до этого работал с переменными php напрямую через инпуты, сейчас возникла задача в нарисовании красивых редактируемых полей

спасибо за отклик!
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2015, 18:44
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

нет, не заполнены

изначально они пустые, а я использовал костыльный метод - всю таблицу в переменную php вгонял, к примеру

$r = ' <...> ' ;

оттуда и названия переменных fields

а мне бы отследить передаваемые значения из переменных инпутов, а я не знаю как, т.к. передаваемые значения мне неизвестны.

кстати, извините, забыл упомянуть, работает с динамическим инпутом лишь первая ячейка

<td>Количество детей:</td><td id="editable"></td>


мне кажется, нужно добавить инкрементируемое значение в name, чтобы можно было хоть как-то отслеживать, но сделать этого я не смог

ну, и на этой же форме было бы хорошо делать запись из js переменных в переменные php, так как знаний js не хватает
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2015, 18:46
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

вот и проблема в том, я не могу отследить названия инпутов

просто, я не знаю, как я смогу получить данные

если бы я имел представление, как получить имя каждого динамического инпута, я бы сделал оттуда же и запись в переменную
Ответить с цитированием
  #8 (permalink)  
Старый 06.01.2015, 21:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<table id="table">
    <tr>
        <td><input name="input[0][0]" /></td>
        <td><input name="input[0][1]" /></td>
    </tr>
    <tr>
        <td><input name="input[1][0]" /></td>
        <td><input name="input[1][1]" /></td>
    </tr>
</table>
<script>
    var table = document.getElementById('table');
    table.addEventListener('change', function(event) {
         var input = event.target;
         alert(input.name + '=' + input.value);
    });
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 06.01.2015, 21:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Далее XHR'ом засылаешь на сервак для записи:

var request = new XMLHttpRequest();
request.open('POST', 'table.php');
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
request.send(input.name + '=' + input.value);


На сервер придет ассоциативный массив (вроде бы) $_POST['input'] - первый ключ - строка, второй - ячейка. Ключи могут быть не числовыми.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2015, 12:17
Новичок на форуме
Отправить личное сообщение для Krio Посмотреть профиль Найти все сообщения от Krio
 
Регистрация: 05.01.2015
Сообщений: 9

спасибо огромное! сейчас приступлю к внедрению
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTML таблица. Как получить значения ячеек выделенной строки Paltusssss Events/DOM/Window 1 27.01.2013 05:07
как получить доступ к динамически созданным html элементам? korney Элементы интерфейса 8 21.01.2012 22:12
Работает ли jquery с html сформированным динамически? warobushek Общие вопросы Javascript 5 13.06.2010 08:26
Как сохранить динамически генерируемую html страничку? Антоныч Javascript под браузер 1 01.03.2010 17:03
Динамически раскрываемая таблица dm1tr1y Общие вопросы Javascript 11 25.04.2009 15:50