jQuery « Неполная обработка формы jQuery

Здравствуйте. Помогите найти ошибку:

Есть форма:

        <form id="addgroup">
            <fieldset>
                <label>Название группы</label>
                <input type="text" name="groupname" placeholder="Введите Название">
                <div class="alert alert-success">
                    <label>Права на чтение:</label>
                    <label class="radio inline" title="Может видеть только свои привязанные ссылки">
                        <input type="radio" name="read" id="readown" value="1"> Свои
                    </label>
                    <label class="radio inline" title="Может видеть привязанные ссылки группы и свои ссылки">
                        <input type="radio" name="read" id="readgroup" value="2"> Группа
                    </label>
                    <label class="radio inline" title="Может видеть все ссылки">
                        <input type="radio" name="read" id="readall" value="3"> Все
                    </label>
                </div>
                <div class="alert">
                    <label>Права на изменение:</label>
                    <label class="radio inline" title="Может изменять только свои привязанные ссылки">
                        <input type="radio" name="edit" id="editown" value="1"> Свои
                    </label>
                    <label class="radio inline" title="Может изменять привязанные ссылки группы и свои ссылки">
                        <input type="radio" name="edit" id="editgroup" value="2"> Группа
                    </label>
                    <label class="radio inline" title="Может изменять все ссылки">
                        <input type="radio" name="edit" id="editall" value="3"> Все
                    </label>
                </div>
                <div class="alert alert-error">
                    <label class="checkbox">
                        Права администратора
                        <input type="checkbox" name="admin" value="admin">
                    </label>
                </div>
                <div class="form-actions">
                    <button type="submit" class="btn btn-primary">Отправить</button>
                </div>
            </fieldset>
        </form>
 


Есть код jQuery

 $('#addgroup').submit(function(){
        // чистим ошибки
        $(this).find('.alert, .alert-error').remove();
        // проверяем поля формы
        if ($(this).find('input[type=text]').val() == '') {
            $(this).find('input[name=groupname]')
                    .before('<div class="alert alert-error">Введите Название группы</div>');

            return false;
        }
$.ajax({
            type: 'POST',
            url: 'add.php',
            data: $(this).serialize(),
            success: function(data){
                alert(data);
           }
        });

        return false;
    });
 

В файле add.php одна строка:
var_dump($_POST);

Данный jQuery код упорно не хочет передавать ни одного значения полей radio и checkbox, передает только значение поля: groupname, т.е. только из input=text, остальное в игнор. Из консоли, при вводе, например,

$('input[name=read]').val();
 

Возвращает значение первого radio из блока read, т.е. вроде все корректно. При вызове того же блока методом

alert($('input[name=read]').val());
 

Возвращает undefined. Где грабли на которые я так упорно наступаю снова и снова?

1 ответов


Проблема решена. Оказывается был конфликт jQuery и javascript внутри фронтенда bootstrap. Строки вида:


<div class="alert alert-success">
  и подобные ей обрабатывались кроме css еще и javascript`ом который отсекал ненужные, по его мнению, данные. После правки форма приобрела вид:

<form id="addgroup">
            <fieldset>
                <label>Название группы</label>
                <input type="text" name="groupname" placeholder="Введите Название">
                    <label>Права на чтение:</label>
                    <label class="radio inline" title="Может видеть только свои привязанные ссылки">
                        <input type="radio" name="read" id="readown" value="1"> Свои
                    </label>
                    <label class="radio inline" title="Может видеть привязанные ссылки группы и свои ссылки">
                        <input type="radio" name="read" id="readgroup" value="2"> Группа
                    </label>
                    <label class="radio inline" title="Может видеть все ссылки">
                        <input type="radio" name="read" id="readall" value="3"> Все
                    </label>
                    <label>Права на изменение:</label>
                    <label class="radio inline" title="Может изменять только свои привязанные ссылки">
                        <input type="radio" name="edit" id="editown" value="1"> Свои
                    </label>
                    <label class="radio inline" title="Может изменять привязанные ссылки группы и свои ссылки">
                        <input type="radio" name="edit" id="editgroup" value="2"> Группа
                    </label>
                    <label class="radio inline" title="Может изменять все ссылки">
                        <input type="radio" name="edit" id="editall" value="3"> Все
                    </label>
                    <label class="checkbox">
                        Права администратора
                        <input type="checkbox" name="admin" value="admin">
                    </label>
                <div class="form-actions">
                    <button type="submit" class="btn btn-primary">Отправить</button>
                </div>
            </fieldset>
        </form>
и начала прекрасно работать. Благодарю замечательный  <a href='http://www.askdev.ru'>http://www.askdev.ru</a> за тот поток осознания который происходит между публикацией вопроса и поиском ответа на этот вопрос.