如何从javascript计算和返回值? [英] How to calculate and return value from javascript?

查看:90
本文介绍了如何从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆