2010-12-02 5 views
0

여기 IE (8)를 제외한 모든 브라우저에서 작동하는 앱이 있습니다. ajax 요청의 데이터로 채워진 간단한 양식입니다. 아래쪽에는 서버에 데이터를 보내고 생성 된 쿼리를 가져 오는 버튼이 있습니다.IE의 입력에서 "켜기"받기

IE에서 사용자가 쿼리 버튼을 누르면 값 속성이 "on"과 분명히 다르지만 브라우저는 모든 체크 박스 또는 라디오 버튼 값을 "on"문자열로 보냅니다.

왜 그런 일이 발생합니까?

java 및 spring mvc (버전 3)을 사용하고 있습니다.

코드의 어떤 부분이 유용할지 모르므로 코드를 첨부하지 않았습니다. 또한 응용 프로그램은 중간 크기이므로 필요에 따라 코드 스 니펫을 게시 할 예정입니다.

[편집] 개발자 도구를 사용하면 값이 올바르게 전달되지만 입력이 설정된 직후에 값이 "on"이됩니다. 나는 javascript가 생성 한 입력으로 확인했다. 적재 된 것들은 왜 그렇게 설정되었는지 모르겠습니다.

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

내가 전에 비슷한 문제로 실행했습니다

다음은 그 DOM 생성의 작은 조각이다. jQuery doesn't allow you to change the input type이기 때문에 당신이 명백한 실수를하지 않는다는 것에 놀랐습니다.

대신을 시도해보십시오

$('<input type="radio" />') 
    .attr("id", lista[i].codigo+"RadioVariavel") 
    .attr("name", "consulta.variavel") 
    .attr("value", lista[i].codigo);