如何从javascript计算和返回值? [英] How to calculate and return value from javascript?
本文介绍了如何从javascript计算和返回值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,我在javascript中计算公式时遇到了问题。我想从文本框中计算数字,然后在javascript中处理它。但问题是,它无法向我的页面返回任何值。这是我的代码:
< !DOCTYPE html PUBLIC - // W3C // DTD XHTML 1.0 严格// EN
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >
< span class =code-keyword>< html xmlns = http://www.w3.org/1999/xhtml xmlns:v = urn:schemas-microsoft-com:vml >
< head >
< meta http-equiv = content-type content = text / html的; charset = UTF-8 / >
< title > Google Maps JavaScript API示例:提取地理编码数据< / title >
< script > ;
function gcd()
{
var getlong1 = document .getElementById( long1)。value;
var getlat1 = document .getElementById( lat1).value;
var getlong2 = document .getElementById( long2)。value;
var getlat2 = document .getElementById( lat2)。value;
var long1 = parseFloat (getlong1);
var lat1 = parseFloat (getlat1);
var long2 = parseFloat (getlong2);
var lat2 = parseFloat (getlat2);
var R = 6371 ; // km
var a1 = lat1.toRadians();
var a2 = lat2.toRadians();
var Δφ=(lat2-lat1).toRadians();
var Δλ=(long2-long1).toRadians();
var a = 数学 .sin(Δφ/ 2)* 数学 .sin(Δφ/ 2)+
数学 .cos(a1)* 数学 .cos(a2)*
数学 .sin(Δλ/ 2)* 数学跨度> .sin(Δλ/ 2);
var c = 2 * 数学 .atan2( Math .sqrt(a), Math .sqrt(1-a));
var d = R * c;
document .getElementById(' 结果')。innerHTML = d;
}
< / 脚本 >
< / head >
< 正文 >
< 表格 action = # onsubmit = gcd();返回false; < span class =code-keyword>>
< p >
Lokasi 1:
< 输入 类型 = text name = long1 id = long1 size = 40 / >
< span class =code-keyword>< input type = text 名称 = lat1 id = lat1 size = 40 / >
< / p >
< p >
Lokasi 2:
< < /跨度> input type = text name = long2 id = long2 size = 40 / >
< 输入 type = text 名称 = < span class =code-keyword> lat2 id = lat2 大小 = 40 / >
< / p >
< p >
< ; 输入 type <跨度lass =code-keyword> = 提交 name = find value = 搜索 / >
< / p >
< / form >
< p id = results > < / p >
< / body >
< / html >
任何人,你能帮助我吗?谢谢..
解决方案
toRadians()未定义。试试这个:
< script >
函数gcd()
{
var getlong1 = document.getElementById( long1)。 value ;
var getlat1 = document.getElementById( lat1)。 value ;
var getlong2 = document.getElementById( long2)。 value ;
var getlat2 = document.getElementById( lat2)。 value ;
var long1 = parseFloat(getlong1);
var lat1 = parseFloat(getlat1);
var long2 = parseFloat(getlong2);
var lat2 = parseFloat(getlat2);
var R = 6371 ; // km
var a1 = lat1.toRadians();
var a2 = lat2.toRadians();
var lat_diff =(lat2-lat1).toRadians();
var long_diff =(long2-long1).toRadians();
var a = Math.sin(lat_diff / 2)* Math.sin(lat_diff / 2)+
Math.cos (a1)* Math.cos(a2)*
Math.sin(long_diff / 2)* Math.sin(long_diff / 2);
var c = 2 * Math.atan2(Math.sqrt(a),Math。 SQRT(1-α));
var d = R * c;
document.getElementById(' results')。innerHTML = d;
}
// 定义toRadians()!!!
if ( typeof (Number.prototype.toRadians)=== undefined){
Number.prototype.toRadians = function(){
返回 此 * Math.PI / 180 ;
}
}
< / script >
hi,
使用
返回d
之前}
它可能有用
我试过你的解决方案的人变成这样:
< pre lang =HTML>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
< html < span class =code-attribute> xmlns = http://www.w3.org/ 1999 / xhtml xmlns:v = urn:schemas-microsoft-com:vml >
< span class =code-keyword>< head >
< meta http-equiv = content-type content = text / html的; charset = UTF-8 / >
< title > Google Maps JavaScript API示例:提取地理编码数据< / title >
< script > ;
function gcd()
{
var getlong1 = document .getElementById( long1)。value;
var getlat1 = document .getElementById( lat1).value;
var getlong2 = document .getElementById( long2)。value;
var getlat2 = document .getElementById( lat2)。value;
var long1 = parseFloat (getlong1);
var lat1 = parseFloat (getlat1);
var long2 = parseFloat (getlong2);
var lat2 = parseFloat (getlat2);
var R = 6371 ; // km
var a1 = lat1.toRadians();
var a2 = lat2.toRadians();
var Δφ=(lat2-lat1).toRadians();
var Δλ=(long2-long1).toRadians();
var a = 数学 .sin(Δφ/ 2)* 数学 .sin(Δφ/ 2)+
数学 .cos(a1)* 数学 .cos(a2)*
数学 .sin(Δλ/ 2)* 数学跨度> .sin(Δλ/ 2);
var c = 2 * 数学 .atan2( Math .sqrt(a), Math .sqrt(1-a));
var d = R * c;
document .getElementById(' < span class =code-string> results')。innerHTML = d;
返回 d;
}
< / 脚本 >
< / head >
< 正文 >
< 表格 action = # onsubmit = gcd();返回false; < span class =code-keyword>>
< p >
Lokasi 1:
< 输入 类型 = text name = long1 id = long1 size = 40 / >
< span class =code-keyword>< input type = text 名称 = lat1 id = lat1 size = 40 / >
< / p >
< p >
Lokasi 2:
< < /跨度>input type = text name = long2 id = long2 size = 40 / >
< 输入 type = text 名称 = < span class =code-keyword> lat2 id = lat2 大小 = 40 / >
< / p >
< p >
< ; 输入 type <跨度lass =code-keyword> = 提交 name = find value = 搜索 / >
< / p >
< / form >
< p id = results > < / p >
< / body >
< / html >
但它仍然无法正常工作:(
Hi guys, I got a problem about calculate a formula in the javascript. I want to calculate number from textbox and then process it in javascript. But the problem, it can't return any value to my page. Here's my code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API Example: Extraction of Geocoding Data</title>
<script>
function gcd()
{
var getlong1 = document.getElementById("long1").value;
var getlat1 = document.getElementById("lat1").value;
var getlong2 = document.getElementById("long2").value;
var getlat2 = document.getElementById("lat2").value;
var long1 = parseFloat(getlong1);
var lat1 = parseFloat(getlat1);
var long2 = parseFloat(getlong2);
var lat2 = parseFloat(getlat2);
var R = 6371; // km
var a1 = lat1.toRadians();
var a2 = lat2.toRadians();
var Δφ = (lat2-lat1).toRadians();
var Δλ = (long2-long1).toRadians();
var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
Math.cos(a1) * Math.cos(a2) *
Math.sin(Δλ/2) * Math.sin(Δλ/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
document.getElementById('results').innerHTML = d;
}
</script>
</head>
<body>
<form action="#" onsubmit="gcd(); return false;">
<p>
Lokasi 1 :
<input type="text" name="long1" id="long1" size="40" />
<input type="text" name="lat1" id="lat1" size="40" />
</p>
<p>
Lokasi 2 :
<input type="text" name="long2" id="long2" size="40" />
<input type="text" name="lat2" id="lat2" size="40" />
</p>
<p>
<input type="submit" name="find" value="Search" />
</p>
</form>
<p id="results"></p>
</body>
</html>
Anyone, can you help me? Thanks..
解决方案
toRadians() is not defined. Try this:
<script> function gcd() { var getlong1 = document.getElementById("long1").value; var getlat1 = document.getElementById("lat1").value; var getlong2 = document.getElementById("long2").value; var getlat2 = document.getElementById("lat2").value; var long1 = parseFloat(getlong1); var lat1 = parseFloat(getlat1); var long2 = parseFloat(getlong2); var lat2 = parseFloat(getlat2); var R = 6371; // km var a1 = lat1.toRadians(); var a2 = lat2.toRadians(); var lat_diff = (lat2-lat1).toRadians(); var long_diff = (long2-long1).toRadians(); var a = Math.sin(lat_diff/2) * Math.sin(lat_diff/2) + Math.cos(a1) * Math.cos(a2) * Math.sin(long_diff/2) * Math.sin(long_diff/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; document.getElementById('results').innerHTML = d; } // Define toRadians()!!! if (typeof(Number.prototype.toRadians) === "undefined") { Number.prototype.toRadians = function() { return this * Math.PI / 180; } } </script>
hi,
use
return d
before }
it might works
I have tried your solution guys become like this :
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google Maps JavaScript API Example: Extraction of Geocoding Data</title> <script> function gcd() { var getlong1 = document.getElementById("long1").value; var getlat1 = document.getElementById("lat1").value; var getlong2 = document.getElementById("long2").value; var getlat2 = document.getElementById("lat2").value; var long1 = parseFloat(getlong1); var lat1 = parseFloat(getlat1); var long2 = parseFloat(getlong2); var lat2 = parseFloat(getlat2); var R = 6371; // km var a1 = lat1.toRadians(); var a2 = lat2.toRadians(); var Δφ = (lat2-lat1).toRadians(); var Δλ = (long2-long1).toRadians(); var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) + Math.cos(a1) * Math.cos(a2) * Math.sin(Δλ/2) * Math.sin(Δλ/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; document.getElementById('results').innerHTML = d; return d; } </script> </head> <body> <form action="#" onsubmit="gcd(); return false;"> <p> Lokasi 1 : <input type="text" name="long1" id="long1" size="40" /> <input type="text" name="lat1" id="lat1" size="40" /> </p> <p> Lokasi 2 : <input type="text" name="long2" id="long2" size="40" /> <input type="text" name="lat2" id="lat2" size="40" /> </p> <p> <input type="submit" name="find" value="Search" /> </p> </form> <p id="results"></p> </body> </html>
But it still can't work :(
这篇关于如何从javascript计算和返回值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文