2011-04-14 2 views
1

입력란이 <input value="hello"/>입니다. 크로스 브라우저 방식으로 value 속성에있는 내용을 얻으려면 어떻게해야합니까? $input.attr('value') 또는 $input.val()을 수행하면 값 특성에 설정된 값이 아니라 사용자가 입력 한 현재 값이 반환됩니다.JQuery - 입력 필드의 값 속성에 설정된 값을 얻으려면 어떻게해야합니까?

내가 input.getAttribute('value')을 수행하면 원하는 결과를 반환하지만 크로스 브라우저 호환이 가능합니까?

$('input').attr('value'); 

를하지만의 getAttribute() 함수는 호환 크로스 브라우저해야한다 : jQuery를 사용하여

+0

당신이 제대로 작동하지 않습니다 document.load – jimy

답변

4

defaultValue 속성을 사용합니다. 텍스트 상자의 값을 변경하면이 함수는 원래 속성의 값이 아니라 변경된 값을 반환합니다. 오직`getAttribute`만이 원래의`value` 속성을 읽습니다.
0

, 당신은 사용할 수 있습니다.

+0

에 변수에 그 값을 저장할 수 – Blender

+0

내 질문에 나는 그것을 사용했다고 말했고 현재의 값을 반환했다. 원하는 것보다는 속성에 설정된 값이다. – Kyle

+0

죄송합니다. 게시물을 잘못 읽었습니다. – MacAnthony

0

내 데모를 확인하십시오 : http://jsfiddle.net/YUGQz/3/.

value 속성은 텍스트 상자의 텍스트를 변경할 때 (최소한 jQuery를 사용할 때) 업데이트되므로, .attr('value')이 제대로 작동하지 않는 것으로 보입니다.

그러나이 데모를 시도하는 경우 : http://jsfiddle.net/YUGQz/4/을, 당신은 순수 자바 스크립트를 사용하여 원래 속성의 값을 얻을 수 있음을 볼 수 있습니다

document.getElementById('foo').getAttribute('value'); 

사람이 브라우저 간 호환성이 시도하고자하는 경우

, 그게 좋을거야. 그냥 텍스트 상자의 값을 변경하고 버튼을 누르십시오.

0

충분하지 않은 점은 댓글이 파이어 폭스, 크롬과 사파리에서 작동

을 블렌더하지만 IE에서 작동하지 않습니다 추가합니다 (8). IE에서는 jQuery와 동일한 동작을 얻습니다. 텍스트 상자의 현재 값을 반환합니다.

input.defaultValue; 

$("whatever").get(0).defaultValue; 
관련 문제