Автоматически сгенерированная форма и получение значений с помощью jQuery - PullRequest
0 голосов
/ 23 февраля 2012

Я сгенерировал автоматически с помощью формы PHP, например:

<form id="stack">
    <input type="text" name="aaa" pos="one"> <br />
    <input type="text" name="bbb" pos="one"> <br />
    <input type="text" name="aa3456" pos="two"> <br />
    <input type="radio" name="group2" pos="one" value="Water"> Water
    <input type="radio" name="group2" pos="one" value="Beer"> Beer<br>
    <input type="radio" name="gvv" pos="two" value="Water2"> Water
    <input type="radio" name="gvv" pos="two" value="Beer2"> Beer<br>
    <INPUT NAME="options" pos="one" TYPE="CHECKBOX" VALUE="o1">
      Option 1<BR>
    <INPUT NAME="options" pos="one" TYPE="CHECKBOX" VALUE="o2">
      Option 2<BR>
    <INPUT NAME="options"  pos="one" TYPE="CHECKBOX" VALUE="o3">
      Option 3<BR>
    <INPUT NAME="options2" pos="one" TYPE="CHECKBOX" VALUE="11">
      111<BR>
    <INPUT NAME="options2" pos="one" TYPE="CHECKBOX" VALUE="22">
      222<BR>
    <INPUT NAME="options2"  pos="one" TYPE="CHECKBOX" VALUE="33">
      333<BR>
    <input type="submit" id="submit">
</form>

Я не знаю, как называются входы и как.Я знаю только - они являются атрибутом pos = "one".В форме также может быть pos = "two" и т. Д.

Если они являются атрибутом pos = "one", они должны быть не нулевыми.

Как я могу это проверить?В моем примере должно быть:

входной текст с именем aaa & bbb должен быть не нулевым

один радиоприемник с именем group2 должен быть проверен - со значением Water или значением Beer.

должен быть отмечен минимум один флажок ввода с именем options .

флажок минимум один вход с именем *Должно быть проверено 1024 * options2 .

Как я могу получить все входные данные, где pos = "one" с jQuery?Может быть, функция каждого и фильтра?Но как?

LIVE: http://jsfiddle.net/T8nNs/4/

РЕДАКТИРОВАТЬ: Если какой-либо вход пуст / не проверен, я хотел бы получить предупреждение («ошибка»).

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Вы бы взяли атрибут pos, имя входа и значение ввода следующим образом:

var pos = $('input').attr('pos');
var inputName = $('input').attr('name');
var inputVal = $('input').val();

Оттуда вы можете начать делать проверки:

var pos = '';
var inputName = '';
var inputVal = '';
$('#stack').submit(function(){
  $('input').each(function(){
    var $this = $(this);
    pos = $this.attr('pos');
    inputName = $this.attr('name');
    inputVal = $this.val();
    if (pos === 'one') {
      if (val === null) {
        return false;
      } else {
        // positive answer
      }
    } // etc.
  });
});
0 голосов
/ 23 февраля 2012

Посмотрите на атрибут , равный селектору , например:

$('input[pos="one"],input[name="gvv"]').change(function() {
    alert('changed');
})​

Пример http://jsfiddle.net/T8nNs/9/

Для проверки формы вы можете использовать submit ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...