Динамически изменить кнопку отправки формы в зависимости от значения в форме? - PullRequest
0 голосов
/ 18 ноября 2010

Это должно быть легко, но после просмотра нескольких библиотек (предпочтительнее jquery!) И даже простого старого javascript я рисую пробел.

Другими словами, строка с 3 полями для редактирования, 2 с предварительно заполненным типом, скажем, сыра и маринада, затем одна незаполненная коробка для числа и кнопка отправки справа от этого. Повторите раз n строк.

Другими словами: Представьте себе форму, представленную в виде ряда строк из результата поиска. Допустим, есть 8 результатов, это 8 строк. Пользователь может сохранить свой выбор в любом из 100 «слотов». Это легко, если каждая строка может иметь имя или букву; Я просто называю каждую кнопку отправки номером от 1 до 8, и когда, скажем, 6 нажата, он знает, что это строка 6, которую он хочет сохранить. Он использует форму jquery от Malsup, чтобы отправить его в виде ajaxy, чтобы форму не приходилось обновлять каждый раз.

Но это не позволяет свободно выбирать, в каком «слоте» сохраняется этот результат. Если бы я мог получить кнопку отправки, чтобы отразить число в ячейке слева от нее, я бы отсутствовал.

Но я не могу, так что я не. И я, кажется, единственный человек, который делает такие глупости. Есть ли лучший способ?

1 Ответ

1 голос
/ 18 ноября 2010

Давайте предположим, что ваша кнопка отправки является элементом кнопки.

$('table').delegate('button', 'click', function(e) {

  var formData = {}

  $(this).closest('tr').find('input').each(function() {
    formData[this.name] = this.value;
  });

  //Add in your code to ajax it off...

  e.preventDefault(); //since buttons/submits behave differently in each browser.

});

// Теперь у вас есть все ваши formData в объекте. Отправь это через свою вещь Ajax.

...