2013-11-23 4 views
0
var a = document.forms[0].elements[0].value; 
var b = document.forms[0].elements[1].value; 
var c = document.forms[0].elements[2].value; 
var d = document.forms[0].elements[3].value; 
var Xp = document.forms[0].elements[4].value; 
var Yp = document.forms[0].elements[5].value; 

document.forms[0].elements[7].value = a/c; 

document.forms[0].elements[8].value = (b*c-a*d)/(c*c); 

document.forms[0].elements[9].value = c; 

document.forms[0].elements[10].value = d; 

document.forms[0].elements[11].value = Yp-(a/c*Xp)-((b*c-a*d)/(c*c)*(Math.log(Math.abs(c*Xp+d))));` 

요소 11은 -1이어야하지만 대신 6.20을 얻습니다. 오류가 Math.log에서 발생한 것임을 이해했습니다. 은 자연 로그의 Math.log입니까? 내가수식에 대한 도움이 필요합니다.

+0

변수 중? –

+0

a = 1 b = -3 c = 1 d = 4 Xp = 1 Yp = -7 * ln (5) – user2580684

+0

실제로 html 페이지의 텍스트 상자에서 값을 가져 와서 'Yp'를 쓰는 대신 -7ln (5) 나는 -11.2661을 썼다. 결과를 계산할 때 6.20이된다. ... – user2580684

답변

0

편집 : 코드

<!DOCTYPE html> 
<html> 
<body> 

<script> 

function foo (form) 
{ 


var a = form.elements[0].value 
var b = form.elements[1].value; 
var c = form.elements[2].value; 
var d = form.elements[3].value; 
var Xp = form.elements[4].value; 
var Yp = form.elements[5].value; 
var z = ((c*1)*(Xp)+(d*1)); 

var K = Yp-(a/c*Xp)-((b*c-a*d)/(c*c)*(Math.log(Math.abs(z)))); 
alert(K); 

} 

</script> 

<form id="frm1" action="" method = "Get"> 
    a: <input type="number" name="a" value="1"><br> 
    b: <input type="number" name="b" value="-3"><br> 
    c: <input type="number" name="c" value="1"><br> 
    d: <input type="number" name="d" value="4"><br> 
    Xp: <input type="number" name="Xp" value="1"><br> 
    Yp: <input type="number" name="Yp" value="-11.2661"><br> 
    <input type="button" id = "Submit" value="Read" onClick="foo(this.form)"/> 
</form> 


</body> 

</html> 

문제 작업 입력 데이터로 사용하는 형태는 (c *의 XP에서 + d)와 거짓말. (1 + 4) = 5를 평가하는 대신에 코드가 c d와 Xp를 문자열로 보았고 한 문자열을 다른 문자열에 추가하는 것으로 (1 + 4) = 14로 나타났습니다. z = ((c * 1)) * (Xp) + (d * 1))를 사용하면 값을 double 값으로 캐스팅해야만 5의 오른쪽 숫자로 평가됩니다.

+0

사실 내 HTML 페이지의 텍스트 상자에서 값을 가져 와서 -7ln으로 'Yp'를 쓰는 대신 (5) 내가 -11.2661을 썼다. 그리고 결과를 계산할 때 6.20이된다. ... – user2580684

+0

바로 다음에 -1을 얻는다. (정확히 -1.000058이된다.) 정확한 코드를 올릴 수 있는가? –

+0

내가 어떻게 제대로 만들 수 있습니까? – user2580684

관련 문제