2011-03-08 4 views
0

이것을 안전하게 jQuery로 변환 할 수 있습니다. 특히 IE의 아무런 문제없이 프롬프트 부분을 변환 할 수 있습니다.jQuery의 getElementById

<script type="text/javascript"> 

function fixnumber() 
{ 
var str=prompt("Please enter number"); 
if (str!=null && str!="") 
    { 

    var fixed=str.substr(1,10); 

    document.getElementById('txt1').value=fixed; 

    } 
} 
</script> 

번호 TEST : <input name="textbox1" type="text" id="txt1"/>

<input name="buttonExecute" onclick="fixnumber(document.getElementById('txt1'))" type="button" value="Enter number" />` 
+0

왜'SUBSTR (1,10)'? 맨 왼쪽 숫자는 원하지 않습니까? –

+0

나는 당신이 무엇을하려고하는지 잘 이해하지 못합니다. fixnumber()가 인수를 취하지 않고 프롬프트를 생성 할 때 인수로 fixnumber를 호출하는 버튼이있는 이유는 무엇입니까? –

+0

프롬프트가 표시되면 바코드 스캐너로 바코드를 스캔하는 상자가 열리고 substr (1,10)은 바코드를 필요한 번호로 자릅니다. – Ntguy

답변

3

변경 :

document.getElementById('txt1').value=fixed; 

사람 :

$('#txt1').val(fixed); 
+1

jQuery에서 프롬프트 부분을 완료하는 방법에 대해 IE는이 코드를 좋아하지 않습니다. – Ntguy

1

HTML :

<input type="text" id="txt1" name="textbox1"> 
<input type="button" id="btn" name="buttonExecute" value="Enter number"> 

자바 스크립트 :

$('#btn').click(function() { 
    var n = prompt('Please enter number'); 
    if (n) { 
     $('#txt1').val(n); 
    } 
}); 

라이브 데모 :http://jsfiddle.net/simevidas/3vxKW/1/

+1

Sime, IE에서이 작업을 안전하게 수행하려면 IE에서이 작업을 시도해보고 프롬프트 부분에 대한 보안 경고를받습니다. – Ntguy

+0

@ Ntguy IE9에서 작동합니다. 불행히도 내 컴퓨터에는 IE의 이전 버전이 없습니다. –

+0

@Ntguy 프롬프트 대신 jQuery UI를 사용할 수 있습니다. http://jqueryui.com/demos/dialog/ –