0

Javascript

function fn1(){
    var a = document.getElementById("xa").value;
    var b = document.getElementById("ya").value;
    var c = document.getElementById("xb").value;
    var d = document.getElementById("yb").value;

    fn2(a,b,c,d);
}

HTML

<div align="center"><b>Digital Differential Analyzer</b><br /><br />
    X0: <input type="text" id="xa"/>
    Y0: <input type="text" id="ya"/>
    XE: <input type="text" id="xb"/>
    YE: <input type="text" id="yb"/>
    <input id="button1" type="button" value="Submit" onclick="e.width = e.width;fn1();" /></div>

如果我只输入 function1 作为对具有就绪值(例如 0,0,300,300)的 function2 的调用,它可以正常工作,但是当我尝试使用 getElementById 获取变量时,没有任何效果,我尝试对其进行大量修改但仍然相同结果,它甚至没有显示为错误

4

1 回答 1

2

尝试:

 fn2(+a,+b,+c,+d);

这会将输入值从字符串转换为 int。您的函数不起作用,因为您正在将字符串值传递给函数。它分别将 0 添加到变量 a、b、c、d 并将字符串转换为 int 即 0+a=a 但现在 'a' 是 int。为了更准确,请尝试parseFloat()

function fn1(){
 var a =parseFloat( document.getElementById("xa").value);
 var b =parseFloat( document.getElementById("ya").value);
 var c =parseFloat( document.getElementById("xb").value);
 var d =parseFloat( document.getElementById("yb").value);

  fn2(a,b,c,d); 

}
于 2013-11-09T09:12:58.480 回答