powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Автоматический обработчик html форм на JS
25 сообщений из 353, страница 11 из 15
Автоматический обработчик html форм на JS
    #39341715
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил
а я не согласился - apply и bind - для кого придуманы?
у меня не получилось с ними, сможешь показать?
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341727
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрПотому я так быстро теряю интерес к пустому спору... потому я и удивляюсь что skyANA столько усилий приложил в попытке переубедить (честно, я бы не стал!)
+1
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341730
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяИзопропил,
тут есть одна вещь в solo я вижу всю систему. могу в любой момент перераспределить "ответственость" на любую часть, мне проще решить что для системы и где должно выполняться, на клиенте, на сервере или в хранимке , мне я вижу, что если я пожертвую чем-то в одной части , что это принесёт в другой. мне не надо ни с кем спорить убеждать (редко можно хорошего оппонента, без ненужны амбиций )
какой там спор про MVC или сокеты или eval)).
Вадю нужно убеждать даже в том что командой работать лучше и полезнее для проекта.
Как объяснить одиночке в тундре, что такое шаблонный код, библиотеки и НЕ копипаст таблички в каждую страницу.
Никак.
Ему все оппоненты про то что куски кода надо разделять (для команды), а он про своё бормочет - как хорошо в тундре одному. Всё видно от края и до края.
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341736
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяИзопропила я не согласился - apply и bind - для кого придуманы?
у меня не получилось с ними, сможешь показать?
давайте чётко специфицируем задачу - где и как задана вызываемая функция.

Если конечно допускается
Код: html
1.
<form     data-onsuccess="foo();bar(this);">

- только eval конечно (контекст в ajax вызове выставить - не забыть)
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341738
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ему все оппоненты про то что куски кода надо разделять (для команды),
для себя любимого - тоже желательно, что характерно
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341740
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторВопрос: зачем пихать в DOM элемент window[this.id]?
вопрос понят так: есть дерево DOM, и зачем в это дерево ещё запихивать(добавлять) элемент window[this.id]

window[this.id] - это элемент DOM, и в тоже время это объект. скажем так: с предопределёнными свойствами


авторТо есть решить проблему через костыль.
Спросишь, почему костыль? И я отвечу: когда ты что-то добавляешь в объект, то ты расширяешь его.
И когда ты расширяешь объект свойствами и функционалом, к нему не относящимися, то это явно костыль.
по навешиванию ярлыков надо быть осторожнее
когда ты что-то добавляешь в объект, то ты расширяешь его. согласен полностью.
И когда ты расширяешь объект свойствами и функционалом а вот тут полностью не согласен
почему ты считаешь что добавленный функционал не относится к нему?
Потому что ты не можешь привести пример того, когда это так.
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341744
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяwindow[this.id] - это элемент DOM, и в тоже время это объект. скажем так: с предопределёнными свойствами
не приходила мысль, что всякий DOM-элемент является объектом, но не всякий объект является DOM-элементом?
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341745
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И похоже на то, что Вы, вадя, теряете суть после пары сообщений.
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341756
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилPetro123Ему все оппоненты про то что куски кода надо разделять (для команды),
для себя любимого - тоже желательно, что характерно
конечно. Программист всегда должен быть ленивым для копиПасты. Т.к. суть его работы - автоматизация всего и вся.
Раскладывание "по полочкам" (слоям\файлам\функциям\библитекам\классам) - основа каждодневной работы.
Тут Вадя спорит и говорит что ему удобнее обозравать всю пустыню в одиночку)).
Понятно, что в голове у него не удерживаются "артефакты по полочкам уровнем больше Функция".
Хотя можно прекрасно кодировать на нижнем уровне и в таком качестве).
Никто не виноват в том что у Вади не было проекта из 100 табличек на 70 страничках.
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341760
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне приходила мысль, что всякий DOM-элемент является объектом, но не всякий объект является DOM-элементом?
раз всякий DOM-элемент является объектом, то ему принадлежит всё, что принадлежит всякому объекту в javascript/html
если создаём объект
var x={};
мы можем сделать так
x.xxx=function(p){ alert(p);}

и потом вызвать
x.xxx('ooooooo'');

так же не будет противоречить стандарту
document.getElementById('load').aaa=function(p){ alert(p);};
и вызов
document.getElementById('load').aaa('kkkkkkkkkkkkkkkkk');
чем я и воспользовался
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341767
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторне приходила мысль, что всякий DOM-элемент является объектом, но не всякий объект является DOM-элементом?
раз всякий DOM-элемент является объектом, то ему принадлежит всё, что принадлежит всякому объекту в javascript/html
если создаём объект
var x={};
мы можем сделать так
x.xxx=function(p){ alert(p);}

и потом вызвать
x.xxx('ooooooo'');

так же не будет противоречить стандарту
document.getElementById('load').aaa=function(p){ alert(p);};
и вызов
document.getElementById('load').aaa('kkkkkkkkkkkkkkkkk');
чем я и воспользовался
Это ещё на второй странице все поняли.
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341769
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадятак же не будет противоречить стандарту
никто ж не говорит о противоречии стандартам W3C, ECMA...

только об архитектуре приложения
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341771
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилвадятак же не будет противоречить стандарту
никто ж не говорит о противоречии стандартам W3C, ECMA...

только об архитектуре приложения
уже лучше
чем мой метод отличается от eval?
с точки зрения архитектуры?
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341789
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилвадяпропущено...

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

Если конечно допускается
Код: html
1.
<form     data-onsuccess="foo();bar(this);">

- только eval конечно (контекст в ajax вызове выставить - не забыть)

нет.. по задумке вот это "foo();bar(this);" не допускается (так как я написал eval не сработает)
допускается вот такое: data-onsuccess="mySuccessHandler", где mySuccessHandler - это локальная функция.
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341845
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёрдопускается вот такое: data-onsuccess="mySuccessHandler", где mySuccessHandler - это локальная функция.
Код: javascript
1.
2.
this[this.dataset.onsubmit].apply(this); // если контекст формы выставлен в ajax callback
context[context.dataset.onsubmit].apply(context); // иначе



не вижу проблем
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341856
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилПрограмёрдопускается вот такое: data-onsuccess="mySuccessHandler", где mySuccessHandler - это локальная функция.
Код: javascript
1.
2.
this[this.dataset.onsubmit].apply(this); // если контекст формы выставлен в ajax callback
context[context.dataset.onsubmit].apply(context); // иначе



не вижу проблем
расшифруй,
это куда , к какому коду встваить/применить?
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341859
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

прям с языка снял (или тут правильнее сказать с клавиатуры )...

Изопропил, полный вариант напиши пожалуйста ;) Что ыб мы могли в полной мере ощутить восторг и оценить твоё мастерство, а не по двум непонятным строчкам кода, в которых даже не понятно что за переменные используются)
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341939
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если без наворотов и проверок - примерно так
Код: 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.
<script>
'use strict';

$(function(){
document.querySelector('input[name="bt"]').onclick = send;
document.querySelector('form[name="f1"]').foo = {g:{t:function () { this.querySelector('div.status').textContent='foo:'+this.name;}  }};
document.querySelector('form[name="f2"]').bar =       function (){ this.querySelector('div.status').textContent='bar:'+this.name;};
});

function send(){
$('form.ajax').each( function() {
 $.ajax({
  success: function() {
    var ctx = this; 
    this.dataset.onsubmit.split('.').forEach(function(val){ctx=ctx[val];});
    ctx.apply(this);
  },
  context: this
  }); 
 });
}
</script>

<input name="bt" type="submit" value="Send" />
<form class="ajax"  name="f1" data-onsubmit="foo.g.t" >
<div class="status"></div>
</form>
<form class="ajax"  name="f2"  data-onsubmit="bar" >
<div class="status"></div>
</form>
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341947
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

не имеет ничего общего с тем, что написал я.

я просил вот этот функционал повторить
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<!doctype html>
<html lang="en">

<head>
    <title>test</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script>
    $(document).on('ready', function(){
        
        $('body').on('submit', 'form.ajax', function(e){
            e.preventDefault();
            var frm = $(this);

            $.ajax({
                url: frm.attr('action'),
                type: frm.attr('method'),
                data: frm.serialize(),
                success: eval(frm.data('success')) || function(data){
                  //дефолтный обработчик, если у формы не определён success метод
                },
                error: eval(frm.data('error')) || function(error){
                  //дефолтный обработчик, если у формы не определён success метод
                  alert('got error');
                }
            });
        });
        
        var errorHandler = function (error){
            alert('got special error');
        };
        
    });
    
    </script>
</head>

<body>
    <form action="/aaa.php" method="post" data-error="errorHandler" class="ajax">
        <input type="text" name="test" value="" />
        <input type="submit" value="Протестировать" />
    </form>
    <form action="/aaa.php" method="post" class="ajax">
        <input type="text" name="test" value="" />
        <input type="submit" value="Протестировать" />
    </form>
</body>
</html>



А что сделал ты - не знаю :) Но что-то явно не то. Попытка номер 2?
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341950
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрНо что-то явно не то
а по моему как раз то и с некоторым запасом
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341953
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилПрограмёрНо что-то явно не то
а по моему как раз то и с некоторым запасом

Играем в 10 отличий? Не смешно

1. У меня 2 кнопки, у тебя одна
2. У тебя кнопка отправляет сразу все формы, а у меня у каждой формы свой сабмитер

А давай теперь по честному... делегируй обработчик, а не опрашивай все формы на "а не вас ли тут случайно хотели отправить"... И скажи пожалуйста, если ты к каждой форме лепишь обработчик, то зачем указывать его имя в "data-onsubmit", если тогда было бы проще договориться о том, что этот обработчик всегда имеет одно и то же имя? :))


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

По твоему это в какой-то другой вселенной что-ли? Если нет, тогда давай так, что бы не по-твоему, а объективно!
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341961
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
мужики я тащусь!!!!!
Код: javascript
1.
document.querySelector('form[name="f1"]').foo = {g:{t:function () { this.querySelector('div.status').textContent='foo:'+this.name;}  }};


ну это ж повтор моего примера !!!!!!!!
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341968
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и стоило 11 страниц спорить????
чтоб повторить то, что было предсталено на 2 странице?????
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341973
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяи стоило 11 страниц спорить????
чтоб повторить то, что было предсталено на 2 странице?????

вадя, он, видимо, не ведает что делает и о чём говорит )) Дождёмся ответа, может у него и правда будет достойная аргументация для такого подхода, но я очень сомневаюсь...
...
Рейтинг: 0 / 0
Автоматический обработчик html форм на JS
    #39341974
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёрвадя, он, видимо, не ведает что делает и о чём говорит )) Дождёмся ответа, может у него и правда будет достойная аргументация для такого подхода, но я очень сомневаюсь...
очень надеюсь, а то я голову сломал, пытаясь .bind и .apply прикрутить...
...
Рейтинг: 0 / 0
25 сообщений из 353, страница 11 из 15
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Автоматический обработчик html форм на JS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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