×

javascript, html передача параметров функции

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

есть таблица, в каждой строке есть 4–5 колонок с данными которые пользователь может изменять. в каждой строке есть ссилка корорая открывает (делает видимым) ДИВ-контейнер. и в этот див я хочу передать все данные которые хранятся на этой строке (похоже на phpMyAdmin только без перегрузок страницы).
варианты
1) для каждого елемента строки строки (cell) назначить свой id — таблица состоит из 25–30 полей и динамически для каждой ячейки делать свой айди как то некрасиво.
2) сделать ссылку, а потом ее разобрать на составляющие -, но тут тоже проблема... поскольку данные вводит пользователь то там могут быть такие знаки как? и &. запрещать их я не хочу. и этот вариант отпал
3) передать через onclick=function a (data)... этот вариант реальный, но я не могу с ним совладать...
как передать 4–5 параметров из хтмл в джаваскрипт...
пробовал масивом... почти получилось... только если например параметр (переменная) равна двум трем словам то выкидывает ошибку... пробовал ее засунуть в escape..., но когда я делаю unescape то оно возвращает мне только первое слово...
может кто-то знает где я ошибся или может существует иной способ о котором я не знаю

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
<<саму кнопку или роу из таблицы

в строке (tr) есть ячейка(td) а в ячейке кнопка (прям сундук кощея) вопрос. как достать строку? для каждой строки и кнопки делать свой клас? — это плохо.. клас должен бить один у всех строк


$(".tst“).click( function( ) {
var row = $( this ).parents( “tr” );
} );

tst — класс кнопок.

рекоммендованая литература: api.jquery.com

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

не знаю почему вы все подумали что я полный и д и о т.. (хотя всякое может быть :)), но я не вижу чем бы тут мог помочь innerHTML

я сделал так.. (если кому интересно)

var e = function(str){return escape(str);}
var params = ’{"do_":"edit","name":"’+e(name)+’"}’;
str+=’<td class="tools-td"><button onclick="start_edit(’+params+’)">edit</button></td>’;

start : function(p)
{
var un = function(str)
{
return unescape(str);
}    
$(’#in-sname’).val(un(p.sname));
}

но я согласен что вопрос глупым был

Народ намекал что можно и вовсе без параметров обойтися.

Берем, значить, строку, проходим по td — в каждой берем innerHTML, создаем (или берем существующий) инпут-тайп-текст — устанавливаем ему в value то что нашли в innerHTML, и, наконец, в td.innerHTML пхаем весь наш input (ну или к td аппендим DOM объект — кому как нравится).

пару книг по джс почитайте, например, есть такой автор John Resig

Почитайте об innerHTML

Підписатись на коментарі