2017-04-05 1 views
0

이것이 작동하지 않는 이유를 찾을 수 없습니다. 기능에서 "document.getElementById를 ("번호 "). 값"하지 않습니다 "반환".. 내 HTML 코드 :양식 입력이 JavaScript 함수에 저장되지 않습니다. 왜?

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="Currency_Converter.css"> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/> 
</head> 
<body> 

<div class="container"> 
<h1>Currency Converter</h1> 
<form id="amount">Dollar amount &ensp;$<input id="number" type="number" name="number" onkeyup="getDollarAmount();" onchange="getDollarAmount();" placeholder="type dollar amount here" ></form>  
</div>  
</body> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <script type='text/javascript' src="Currency_Converter.js"></script> 
</html> 

내 자바 스크립트 :

function getDollarAmount() { 
    var dollarAmount = document.getElementById("number").value; 
    return (dollarAmount); 
} 
console.log(getDollarAmount()); 

내 "기능 getDollarAmount() "폼에 입력 된 숫자를 반환하지 않습니다. "console.log (dollarAmount)"를 입력하면 입력을받습니다. "document.getElementById ("number "). value"를 꺼내 숫자로 바꾸면 (예 : 5) "getDollarAmount"함수가 숫자 (5)를 반환합니다.

분명히이 문제는 다른 모든 방식으로 작동하기 때문에 "document.getElementById ("number "). value"가 문제입니다. "document.getElementById ("number "). value"를 "getDollarAmount()"로 반환하려면 어떻게해야합니까?

+0

값을 –

+0

JQuery 스타일'$ ("# number")'및'console.log'로 가져 오려고 했습니까? 필드에 숫자를 입력하면'console.log (getDollarAmount());'콘솔에서 무엇이 인쇄됩니까? – Carcigenicate

+0

JS가 함수를 실행하고 있는지 확인 했습니까? – DamiToma

답변

0

여기 실수는 당신이 값을 반환하는 대신 입력 값 속성에 dollarAmount 변수를 할당하는 것입니다

var dollarAmount = $("#number").val(); 
+0

@Carcigenicate 그가 jquery를 html로 가져 왔습니다. – Durga

+0

감사합니다.하지만 jQuery는 JS와 똑같이 작동합니다. –

0

보십시오.

당신이 변환하려는 금액을 입력하는 동일한 장소에서 변환 된 통화 값을 반환한다는 아이디어는 좋은 습관이 아니므로 혼란 스럽습니다.

입력 할 장소와 변환 된 값을 표시 할 장소가 있어야합니다. 사용자 환경이 개선되고 사용자에게 더 좋습니다.

jQuery가 필요하지 않습니다. 다음 예는 다음과 같습니다

var el = document.getElementById("number"); 
 

 
el.addEventListener("keyup", function() { 
 
    //You need to assign the value to a variable 
 
    var dollarAmount = getDollarAmount(); 
 
}); 
 

 
function getDollarAmount() { 
 
    return el.value; 
 
}
<input id="number" type="number" name="number" placeholder="type dollar amount here" value="0" >

는 도움이되기를 바랍니다.

+0

감사합니다. 그러나이 함수에서는 입력을 캡처하려고합니다. JS가 포함되지 않은 경우 API 통화 데이터가 제공됩니다. 내 API 데이터로 곱할 수 있도록 dollarAmount 입력을 캡처해야합니다. getDollarAmount를 사용하면 dollarAmount 입력을 캡처해야합니다. –

+0

당신은 오신 것을 환영합니다. 예제를 사용하여 "change"이벤트에 대한 eventListener를 만들고 거기에서 getDollarAmount() 함수를 호출 할 수 있습니다. getDollarAmount() 함수에서 단순히 el.value 만 반환 할 수 있습니다. 이 방법으로 getDollarAmount는 입력 값을 리턴합니다. –

+0

getDollarAmount가 dollarAmount 입력을 반환하는 방법을 보여줄 수 있습니까? 제공된 함수를 사용하여 사용자 입력을 표시하려면 어떻게 변경합니까? 나중에 통화 데이터로 늘릴 것입니다. "function getDollarAmount() { var dollarAmount = document.getElementById ("number "). 값; return (dollarAmount); } 콘솔.감사합니다 –

관련 문제