Как получить содержание формы входа?

Предварительная декларация не так опасна сама по себе, но это запах кода. Если вам нужно предварительное объявление, это означает, что два класса тесно связаны, что обычно плохо. Таким образом, это указывает на то, что ваш код может нуждаться в рефакторинге.

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

100
задан isherwood 6 March 2019 в 15:07
поделиться

4 ответа

Собственные элементы DOM, которые являются входами, также имеют атрибут form , который указывает на форму, к которой они принадлежат:

var form = element.form;
alert($(form).attr('name'));

Согласно w3schools , .form Свойство полей ввода поддерживается IE 4.0+, Firefox 1.0+, Opera 9.0+, а это еще больше браузеров, которые гарантирует jQuery, поэтому вам следует придерживаться этого.

Если бы это был другой тип элемента (не ), вы можете найти ближайшего родителя с помощью ближайшего :

var $form = $(element).closest('form');
alert($form.attr('name'));

Также см. эту ссылку MDN в форме свойство HTMLInputElement :

177
ответ дан 24 November 2019 в 04:50
поделиться

Каждый ввод имеет свойство form , которое указывает на форму, которой принадлежит ввод, так просто:

function doSomething(element) {
  var form = element.form;
}
38
ответ дан 24 November 2019 в 04:50
поделиться

Это вызов « rebasing » перед обратным слиянием: вы «перебазируете» (или обновляете) свою локальную ветвь с эволюциями ствола перед обратным слиянием этой локальной ветки с стволом. 1211] Это позволяет медленное разрешение слияния внутри вашей «ветки» с возможными промежуточными фиксациями.
Затем, когда все будет сделано, вы можете выполнить тривиальное слияние обратно в магистраль.
Таким образом, вам не нужно откладывать коммиты только потому, что вы выполняете слияние на стволе (поскольку на стволе должны быть разрешены только стабильные коммиты).

Считаете ли вы вредным использование подхода 'A'?

Нет, если слияние - тривиальное, с предсказуемым результатом. В этом случае подход B был бы пустой тратой времени, дополнительным слиянием, которое не требуется (и вы всегда должны стремиться сделать как можно меньше слияний: каждая из этих операций может быть подвержена ошибкам) ​​

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

Оба подхода полезны, искать не следует. применять только одно или только другое, но наиболее подходящее для данной ситуации.

function doSomething(element) {
    var form = $(element).closest("form").get().
    //do something with the form.
}
3
ответ дан 24 November 2019 в 04:50
поделиться

Мне нужно было использовать element.attr ('form') вместо element.form .

Я использую Firefox в Fedora 12.

2
ответ дан 24 November 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: