2012-04-09 2 views
0

자바 스크립트 전문가가 질문에 대답했습니다. 몇 가지 다른 텍스트 입력 필드로 구성된 사이드 바 도구를 만들고 있습니다. 이 도구의 목적은 템플릿에서 사본을 편집하는 것입니다. 필드 onchange에 입력 된 데이터를 전달하려고했지만 내 js 개체에 데이터를 덤프하는 데 문제가 있습니다. 필드 입력 데이터를 자바 스크립트로 인쇄합니다.

$('myInputField').(function(){ 
     $(this).onChange(){ 
      // write to variable X 
} 
}); 

은 기본적으로 내가 살고 모방 할 수 입력에 타이핑 한 후 내 데이터베이스에 대한 변경 사항을 분석 할 수있는 것을 갖고 싶어 : 이것은 내가 마음에 무엇을 어느 정도입니다.

+0

'VAR X = $ (이) .val() '의 입력 값 X를 채울 것이다. –

답변

0

단순히 입력 필드의 keyup 이벤트로 충분하지 않습니까?

jQuery를 :

$('textarea').keyup(function() { 
    $('#foo').html($(this).val()); 
});​ 

HTML :

<textarea></textarea> 
<div id="foo"></div> 

jsFiddle example.

+0

완벽 해, 모두 훌륭한 예제를 제공하지만 js 변수를 만드는 대신 .html 및 .val을 사용하는 것을 정말 좋아합니다. – Swordfish0321

1
$('#myInputField').(function(){ 
     $(this).onkeyup(){ 
      x = this.value; 
     } 
}); 

이상의 간결 :

$('#myInputField').onkeyup(){ 
    x = this.value; 
}); 
1

당신은 그냥 이벤트 핸들러 내 myInputField에서의 값을 찾고? 이런 식으로 뭔가가 this 이미 jQuery를 오브젝트 인 경우, 난 내 머리 위로 떨어져 기억하지

$('myInputField').(function(){ 
    $(this).onChange(){ 
     x = $(this).val(); 
    } 
}); 

을? :. 이 경우,이 작업을해야합니다 아마도 오버 헤드가 약간 건너 뜁니다 this 이제까지 다른 컨텍스트를 오버라이드 (override)하는 경우 또한

x = this.val(); 

, 당신은 명시 적으로 정상의 jQuery 셀렉터로 필드를 참조하거나 경우 다른 분야도 참조하고 싶습니다. :

x = $('myInputField').val(); 
+1

'this'는 jQuery 객체가 아니기 때문에 사람들은'$ (this)'를 사용합니다. :). 그러나'var x = this.value'를 사용할 수 있습니다. 'var' 키워드를 잊지 마세요. 그렇지 않으면 변수가 전역 변수가됩니다. –

+0

@FlorianMargaine : 나는'x'가 그 질문에 기초하여 다른 곳에서 정의되었다고 가정하고 있었다고 생각합니다. 추가 할 좋은 정보! – David

1

IE에서는 문제가 INPUT 요소에서 onchange 이벤트가 작동하지 않습니다. 따라서 수행하려는 작업에 따라 onkeypress 또는 onblur 이벤트를 사용해야합니다.

JS 방법 :

document.getElementById('myInputField').onblur = function() { 
    var x = this.value 
} 

의 jQuery 방법 :

관련 문제