Получение "на" от ввода в IE - PullRequest
0 голосов
/ 02 декабря 2010

Вот проблема, у меня есть приложение, которое работает в любом браузере, кроме IE (8).Это простая форма, которая заполнена данными из запросов AJAX.Внизу есть кнопка, которая отправляет данные на сервер и получает сгенерированный запрос.

Проблема в том, что в IE, когда пользователь нажимает кнопку запроса, браузер отправляет все значения флажков или радиокнопок встрока «on», хотя атрибут value явно отличается от «on».

Почему это происходит?

Я использую Java и Spring MVC (версия 3).

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

[Редактировать] Используя инструменты разработчика, я смог обнаружить, что значение передается правильно, но сразу после установки ввода, его значение становится «на».Я проверил это с помощью входных данных, сгенерированных javascript.Для загруженных я не знаю, почему они установлены таким образом.

Вот небольшой фрагмент этого поколения DOM:

 var cell = $("<td/>").append(
        $("<input/>")
        .attr("id", lista[i].codigo+"RadioVariavel")
        .attr("name", "consulta.variavel")
        .attr("value", lista[i].codigo)
        .attr("type", "radio")
        ).append(
        $("<label/>")
        .attr("for", lista[i].codigo+"RadioVariavel")
        .html(lista[i].descricao)
        );

1 Ответ

1 голос
/ 02 декабря 2010

Я сталкивался с подобной проблемой раньше.Я удивлен, что вы не получаете явную ошибку, потому что jQuery не позволяет вам изменить тип ввода .

Попробуйте вместо этого:

$('<input type="radio" />')
    .attr("id", lista[i].codigo+"RadioVariavel")
    .attr("name", "consulta.variavel")
    .attr("value", lista[i].codigo);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...