Ссылка на форму, назначенную переменной в jQUERY

0

У меня есть форма с id = 'form1', а другая с формой 'form2'. На submit я хочу передать обе формы как объекты в одну функцию проверки, которая может их проверить. Я смущен тем, как это сделать. Если я сделаю что-то вроде

var form = $('#form1');
Validate(form);

как получить доступ к текстовым полям переменной формы? Я не хочу писать повторяющиеся функции проверки, так как обе формы похожи на ALMOSt.

  • 1
    вам нужно предоставить больше информации, например, что такое проверки, какие поля и т.д.
  • 0
    Вы можете передать идентификатор формы функции вместо всей формы.
Показать ещё 2 комментария
Теги:
forms

4 ответа

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

Вы также можете сделать следующее...

Полный пример здесь...

function validate(formid){
    var form = $("#"+formid);
    var name = form.find("#name");
    var number = form.find("#number");
    alert(name.val());
    alert(number.val());
}

    validate("form1");
    validate("form2");
  • 0
    Кажется, пока что лучший для моей цели ... Спасибо, Нихил ...
0

Предполагая, что обе формы одинаковы:

ValidateForm($("#form1, #form2"));

function ValidateForm(forms){

   forms.each(function(){

      $(this).find('input[type=text]').each(function(){

        //Do something to validate text field


      })

      $(this).find('input[type=checkbox]').each(function(){

        //Do something to validate checkbox


      })

    })

 }
  • 0
    Благодарю. Но обе формы не проверяются одновременно. Валидация основана на событиях.
0

С именем полей вы можете сделать это:

function Validate(form) {
  form = form[0]; // raw element
  if (check_syntax(form.name.value)) { doSomething(); }
  if (check_syntax(form.email.value)) { doSomething(); }
  if (check_syntax(form.anotherfield.value)) { doSomething(); }
}

Если каждое поле в форме имеет имя, вы можете получить к нему доступ через form.fieldName или form ['fieldName'].

С уважением.

0

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

Смотри ниже:

var form = $('#form1');
function Validate(form){
    var field1 = form.find(".field1");
}

Ещё вопросы

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