2013-10-22 3 views
0

이후 사용을 위해 Javascript에서 입력 한 HTML 양식 유형을 검색하려고합니다. 나는 타입 HTML 입력의 속성에 대해 말하지 않고 있지만, 사용자는 타입 JS 연산자로 얻을 수있는 변수의 타입에 대해 말하지 않습니다.HTML 양식에서 입력 유형 가져 오기

나는 그것을 테스트하기 위해 아래의 코드를 사용하고

: 내 꿈에서

<form oninput="test();" name="myform"> 
<input name="anumber" value="100"> 
<input name="aboolean" value="true"> 
</form> 
<div id="message"></div> 
<script type="text/javascript"> 
    function test(){ 
    anumber = document.myform.anumber.value; 
    aboolean = document.myform.aboolean.value; 
    document.getElementById("message").innerHTML = anumber + " " + typeof(anumber) + " | " + aboolean + " " + typeof(aboolean) 
    } 
</script> 

이 표시 : "100 번호 | 부울 true"가 아니라 "100 문자열 | 진정한 문자열". 사용자 정의 함수를 정의하도록 정의 할 수 있습니까?

도움 주셔서 감사합니다. Nicolas

+0

http://dreamscometrue.uk.com/ – Abhitalks

+0

'입력 유형 = "텍스트"'= 텍스트를. '입력 유형 = 'checkbox'' = 부울. 참조 : http://jsfiddle.net/ZUJzF/ – Abhitalks

+2

입력 요소의 값은 문자열로 저장됩니다. 문자열 값에 따라 유형을 결정하는 사용자 정의 함수를 작성해야합니다. –

답변

2

입력 요소의 value 속성은 항상 문자열로 저장되므로 typeof은 항상 "string"을 반환합니다. 해당 문자열의 내용을보고 이에 따라 올바른 유형을 결정하는 사용자 정의 함수를 작성해야합니다. 나는 가능성이 하나 또는 두 개의 사례를보고 싶었어요하지만 이런 식으로 뭔가가 충분할 수있다 :

function getInputType(value) { 
    if(value === "") 
     return ""; 
    else if(value === "true" || value === "false") 
     return "boolean"; 
    else if(!Number.isNaN(Number(value))) 
     return "number"; 
    else 
     return typeof value; 
} 

jsFiddle demo

+0

고마워요. 좋은 하루 되세요. –

관련 문제