код javascript / jquery для получения формы # формы, в которой пользователь выбрал некоторый текст

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть страница с несколькими формами внутри нее.

Я хочу получить форму # (например, вторая форма — форма № 2), в которой конечный пользователь выбрал некоторый текст

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

Есть ли какой-нибудь способ получить это с помощью jquery или javascript?

Ответ №1:

Вы можете использовать index() метод для поиска # формы:

 var $form = $('#someFormId');
var index = $('form').index($form);       //OR, equivalent:
    index = $form.index('form');
  

Формат:
  $element . index( селектор ) (где $element — объект jQuery, а селектор — строка, соответствующая коллекции для поиска).
  $collection .index( $element ) (где $collection — объект jQuery, представляющий все элементы, и $element является либо объектом DOM, либо объектом jQuery, представляющим искомый элемент.

Примечание: параметр the index() очень важен. Внимательно ознакомьтесь с документацией, если вы не уверены в этом.

Ответ №2:

Использование фокуса может позволить вам установить переменную, чтобы узнать идентификатор формы, в которой конечный пользователь нажал на одно из ее полей.

HTML :

 <form id="1">
  <input id="target1" type="text" value="Field 1" />
  <input type="text" value="Field 2" />
</form>
<form id="2">
  <input id="target2" type="text" value="Field 1" />
  <input type="text" value="Field 2" />
</form>
  

javascript (jQuery) :

 $('form').each(function(){
    $(this).children().focus(function() {
      alert($(this).parent('form').attr('id'));
    });
});
  

пример jsfiddle: http://jsfiddle.net/qnsqZ /

Комментарии:

1. пожалуйста, также скажите мне, как получить форму # (т. Е. Номер формы, с первой формой # = 0) либо с помощью идентификатора формы (который вы показали, как получить), либо напрямую… Кроме того, если у меня есть идентификатор формы, сохраненный в переменной, как мне выбрать эту форму в выражении jquery (например, текущее выражение — jquery(‘input’, document.forms [0]) —, есть ли какой-нибудь способ изменить это, чтобы идентификатор формыполученный с помощью вашего кода (и сохраненный в переменной) используется в качестве параметра? Спасибо за вашу помощь.