jQuery .submit () не работает с созданной javascript HTML-формой

0

У меня есть медведь времени, выясняя, почему jQuery.submit() не распознает submit.

Форма HTML (фактически несколько форм) успешно сгенерирована в div, который добавляется к странице со следующей функцией javascript (это вызывается из $ (document).ready(function() {}):

function makeMenu(chambers,bins,values) {
    var htmlString = "";
    for(var i = 0; i < chambers.length; i++) {
        if(bins[i]) {
            var link = chambers[i] + " - " + bins[i];
            var p = values[i];
        }

        htmlString += "<form name='entity' id='entity' method='post' action=''>";
        htmlString += "<input type='submit' name='get_entity' id='to_php' value='" + link + "' class='text_button' title='value=" + p + "'>";
        htmlString += "<input type='hidden' name='tool' value='" + chambers[i] + "'/>";
        htmlString += "<input type = 'hidden' name='bin' value='" + bins[i] + "'/>";
        htmlString += "</form>";
    }

    $("#spacer").append("<div class='menu'>" + htmlString + "</div>");
}

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

$(document).ready(function() {
    $('#entity').submit(function() {
        alert('Success!');
    });
 })

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

  • 0
    Когда $('#entity').submit() выполняется, как вы думаете, существует ли $('#entity') ?
  • 1
    Кроме того, id элементов должны быть уникальными. Вместо этого используйте класс.
Показать ещё 1 комментарий
Теги:
forms

2 ответа

2
Лучший ответ

Пытаться

$(document).ready(function() {
    $(document).on('submit','#entity',function() {
        alert('Success!');
    });
 })
  • 0
    Отвечая Александру, у него было первое решение. Отлично работает сейчас. Я только пару месяцев в javascript / jquery, каждый день узнаю что-то новое. Кроме того, для Джейсона я изменил его на класс вместо id, но он работал в обоих направлениях. Спасибо за быстрый ответ!
  • 0
    Я столкнулся с другой проблемой. MakeMenu создает несколько форм class = entity. Когда на один из них нажимают, я хочу передать информацию о камере и бункере в php с помощью serialize. К сожалению, сериализованная строка содержит информацию для ВСЕХ комбинаций камеры / бункера. Мне нужно, чтобы она включала информацию только по нажатой ссылке. Есть ли способ сделать это?
Показать ещё 5 комментариев
0

Попробуйте на вместо представить. Поскольку форма создается jQuery, она еще не привязана к документу.

$(document).ready(function() {
    $(document).on('submit','#entity',function() {
        alert("success");
    });
 })

Ещё вопросы

Сообщество Overcoder
Наверх
Меню