вызов функции jq, как если бы вы делали функцию js из элемента формы - PullRequest
0 голосов
/ 01 декабря 2010

Я пытаюсь проверить форму с помощью jquery (не использовать плагин validate) ... я хотел знать, есть ли способ вызвать ту же функцию, не подключая ее к определенному узлу ...

как в js

<input id="xyz" ....onblur=js:function()>

<input id="abc" ....onblur=js:function()>

где как в jq

$(#xyz).blur(); 
$(#abc).blur(); 

не точный синтаксис, но вы получите его ...

спасибо * 1011 Энди *

Ответы [ 3 ]

1 голос
/ 01 декабря 2010
$(function() {
  $(":input").blur(function() { 
    // executes this function every time the blur event
    // fires on any input element
  });
}

«элементом ввода» являются элементы ввода, textarea, select и button.

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

0 голосов
/ 01 декабря 2010
$('#xyz, #abc').blur(function() {
    //Wrap into jQuery object
    var $this = $(this);

    //console.log($this);

    //Do some validations
    $this.val($.trim($this.val()));
    if(!$this.val().length) {
        alert('box is empty');
    }
});
0 голосов
/ 01 декабря 2010

Я надеюсь Я правильно понимаю. Чтобы незаметно присоединить эти обработчики событий, используйте обработчик document.ready и добавьте их внутрь, например:

$(function() { //runs when the DOM is ready
  $("#xyz").blur(function() {
    //do some validation...
  }); 
  $("#abc").blur(function() {
    //do some validation...
  }); 
});

Тогда вашим обработчикам не нужны встроенные функции, они могут быть просто:

<input id="xyz" name="xyz" type="text">
<input id="abc" name="abc" type="text">
...