2017-11-27 5 views
0

JS 코드는 자바 스크립트

'use strict'; 

$(document).ready(function() { 

}); 

function calculatePPI(inputWidth, inputHeight, inputDiagonal) { 
    document.getElementById("outputPPI").innerHTML= 
((Math.sqrt(Math.pow('inputWidth', 2)) + (Math.pow('inputHeight', 2)))/'inputDiagonal'); 
} 

HTML 코드

<body> 

    <h2>Length Converter</h2> 
    <p>The following program will convert your centimeters to inches.</p> 

    <p> 
     <label>Width (Pixels):</label> 
     <input id="inputWidth" type="number" placeholder="Width"> 
     <p> 
      <label>Height (Pixels):</label> 
      <input id="inputHeight" type="number" placeholder="Height"> 
     </p> 

     <p> 
      <label>Diagonal (Pixels):</label> 
      <input id="inputDiagonal" type="number" placeholder="Diagonal Length"> 
     </p> 

     <button onclick="calculatePPI(document.getElementById('inputWidth', 'inputHeight', 'inputDiagonal').value)">Calculate</button> 
    </p> 

    <p>PPI: <span id="outputPPI"></span></p> 

</body> 

내가 계산하려고 할 때마다 나는 결과로 NaN이납니다에서 결과 NaN를 얻기.

For example

사람이 좀 도와 주 시겠어요? Javascript 코딩을 처음 접했을 때 코드가 어디에서 엉망인지 확실하지 않습니다.

+1

당신은 한 번에 3 개 요소에서 값을 얻을 수 – j08691

+0

getElementById''의 사용이 잘못, 즉'document.getElementById를 ('inputWidth', 'inputHeight' , 'inputDiagonal'). value '가 작동하지 않습니다. 'getElementById'를 3 번 ​​호출해야합니다. – Claies

+0

'Math.pow ('inputWidth', 2)'문자열을 사용하는 대신 실제 변수 이름을 사용해야합니다 :'Math.pow (inputWidth, 2)' – Brian

답변

1

이와 같이 getElementById을 사용할 수 없으며 함수에서 함수 변수 주위에 ''을 넣지 마십시오. 이 같은

사용 :

'use strict'; 
 

 
$(document).ready(function() { 
 

 
}); 
 

 
function calculatePPI(inputWidth, inputHeight, inputDiagonal) { 
 

 
    document.getElementById("outputPPI").innerHTML= 
 
((Math.sqrt(Math.pow(inputWidth, 2)) + (Math.pow(inputHeight, 2)))/inputDiagonal); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<body> 
 

 
<h2>Length Converter</h2> 
 
<p>The following program will convert your centimeters to inches.</p> 
 

 
<p> 
 
    <label>Width (Pixels):</label> 
 
    <input id="inputWidth" type="number" placeholder="Width"> 
 
    <p><label>Height (Pixels):</label> 
 
    <input id="inputHeight" type="number" placeholder="Height"></p> 
 
    <p><label>Diagonal (Pixels):</label> 
 
    <input id="inputDiagonal" type="number" placeholder="Diagonal Length"></p> 
 

 
    <button onclick="calculatePPI(document.getElementById('inputWidth').value, document.getElementById('inputHeight').value, document.getElementById('inputDiagonal').value)">Calculate</button> 
 
</p> 
 
<p>PPI: <span id="outputPPI"></span></p> 
 
</body>

0

이 줄의 (Math.sqrt(Math.pow('inputWidth', 2)) + (Math.pow('inputHeight', 2)))/'inputDiagonal'); 문자열을 사용하여 수학을 수행했기 때문에 결과는 NaN입니다. '(작은 따옴표)를 제거하십시오.

(Math.sqrt(Math.pow(inputWidth, 2)) + (Math.pow(inputHeight, 2)))/inputDiagonal);

이 작동합니다, 지금이 변수 inputWidth, inputHeight 등 그냥 문자열을 생성되기 전에 실제 값에 접근하기 때문이다.

0

HTML

<h2>Length Converter</h2> 
<p>The following program will convert your centimeters to inches.</p> 

<p> 
    <label>Width (Pixels):</label> 
    <input id="inputWidth" type="number" placeholder="Width"> 
    <p><label>Height (Pixels):</label> 
    <input id="inputHeight" type="number" placeholder="Height"></p> 
    <p><label>Diagonal (Pixels):</label> 
    <input id="inputDiagonal" type="number" placeholder="Diagonal Length"></p> 
<p> 
    <button onclick="calculatePPI();">Calculate</button> 
</p> 
<p>PPI: <span id="outputPPI"></span></p> 

자바 스크립트

'use strict'; 

$(document).ready(function() { 

}); 
function calculatePPI() { 
var inputWidth = document.getElementById('inputWidth').value; 
var inputHeight = document.getElementById('inputHeight').value; 
var inputDiagonal = document.getElementById('inputDiagonal').value; 
var outputPPI = document.getElementById("outputPPI"); 
    outputPPI.innerHTML= ((Math.sqrt(Math.pow(inputWidth, 2)) + (Math.pow(inputHeight, 2)))/inputDiagonal); 
} 

참고 : PPI의 계산과 parameters.You에 대한 함수 값의 값의 할당과 같은 코드에 구문 오류가 많은 네이티브 자바 스크립트와 코드 위의 계산을 시도하고 하나 아래 에 대한 JQuery와 수 있습니다. 당신이 유효한 숫자

NaN

이 피연산자이 방정식에서 유효 수 있는지 확인 = 안 숫자로 계산되지 않습니다

function calculatePPI() { 
var inputWidth = $('#inputWidth').val(); 
var inputHeight = $('#inputHeight').val(); 
var inputDiagonal = $('#inputDiagonal').vval(); 
var outputPPI = $("#outputPPI"); 
    outputPPI.html(((Math.sqrt(Math.pow(inputWidth, 2)) + (Math.pow(inputHeight, 2)))/inputDiagonal)); 
} 
0

자바 스크립트 리턴 NaN.

당신은 같은 시도 할 수 있습니다 -

<button onclick="calculatePPI('inputWidth','inputHeight','inputDiagonal')">Calculate</button> 

function calculatePPI(inputWidth, inputHeight, inputDiagonal) { 
    inputWidth = document.getElementById(inputWidth).value 
    inputHeight = document.getElementById(inputHeight).value 
    inputDiagonal = document.getElementById(inputDiagonal).value 

    inputWidth = inputWidth ? inputWidth : 0;  /*Setting default value 0*/ 
    inputHeight = inputHeight ? inputHeight : 0;  /*Setting default value 0*/ 
    inputDiagonal = inputDiagonal ? inputDiagonal : 0; /*Setting default value 0*/ 
    document.getElementById("outputPPI").innerHTML = ((Math.sqrt(Math.pow(inputWidth, 2)) + (Math.pow(inputHeight, 2)))/inputDiagonal); 
}