如何在javascript中将数据输入到函数中

时间:2015-02-26 18:45:40

标签: javascript jquery html

所以我首先要说的是我对javascript很新,所以请不要讽刺或者说我知道我要求的内容可能非常简单。

但是说我想编写一个外部java脚本,将两个数字放在一起,我创建了一个具有

的函数
function test (x,y,z){

var test = (100*x)*(10y)*z

alert (test)    
}

然后如何将其与html文档上的文本字段链接。

7 个答案:

答案 0 :(得分:0)

你可以用id链接它,例如

<input id="functionResult">

然后在javascript中

documentgetElementById("functionResult").value=test(1,2,3);

或jquery

$("#functionResult).val(test(1,2,3));

答案 1 :(得分:0)

链接一词意味着正在发生的事情。在JavaScript(以及一般编程)中,某事物是一个事件。因此,您需要处理发生的事件,为此,您将使用所谓的事件处理程序。因此,如果你有一个html元素,它是每个数字的输入,还有一个按钮来创建要处理的事件

<input id="number1" type="text" />
<input id="number2" type="text" />
<input id="number3" type="text" />
<input id="calculate" type="button" value="Calculate" />

并且您希望处理按钮上的click事件以检查您将

的三个输入
document.getElementById("calculate")//locate the button element
.onclick=function(){ //assign a click event handler to the button
 var x = document.getElementById("number1"); //locate the first number
 var y = document.getElementById("number2"); //locate the second number
 var z = document.getElementById("number3"); //locate the third number

 test(x,y,z); //call your test function
};//end click event handler scope

答案 2 :(得分:0)

我实际上并不知道你在寻找什么。猜测。

完整的程序定义为您只需copy and paste进行测试。

<!DOCTYPE html>
<html>

<input type="text" id="x" />
<input type="text" id="y" />
<input type="text" id="z" />
<input type=button onclick="test(x.value,y.value,z.value)" value="getResult"/>

<script type="text/javascript">

function test (x,y,z){

var test = (100*x)*(10*y)*z

alert (test)    
}
</script>
</html>

为您的计算提供了3个文本字段和button以及alert

答案 3 :(得分:0)

用于将数据输入函数:

test(2, 4, 99999);

对于链接到文档中的html元素,根据HTML的设置方式,有很多选项。

查看W3Schools' tutorial on DOM manipulation

答案 4 :(得分:0)

假设您有一个文本框

<input type="text" id="myText" >

然后你的功能可以

function test (x,y,z){

var result = (100*x)*(10y)*z;

document.getElementById("myText").value = result;
}

答案 5 :(得分:0)

发布了很好的答案,但请记住这个......

function test (x,y,z){

var test = (100*x)*(10y)*z

alert (test)    
}

必须更改为....

function test (x,y,z){

var number = (100*x)*(10y)*z;

alert (number);
}

因为每个javascript命令都需要以分号结尾,否则解释器会认为两个命令是一个。

例如,在OP的问题中,解释器会认为执行:

function test (x,y,z){
var test = (100*x)*(10y)*zalert (test)    
}

,错误将在test,zalert和(test)。

答案 6 :(得分:0)

好像你想从表单中捕获输入?你提到了一个&#34;文本字段&#34;。因此,如果您想在用户输入数据时计算数字,或者如果您想在单击按钮时执行此操作,则可以使用可以触发功能的onSubmit,onBlur,onFocus等事件。

例如:

<form>
 <input type="text" onBlur="test(this)" />
</form>

每次元素失去焦点时,都会触发test()。我把它传给了这个&#39;定位触发事件的元素。

如果您想在提交表单时触发您的功能,那么您可以在表单上使用onSubmit,您也可以使用jQuery来处理单个表单提交或所有表单提交。

<form name="yourForm" onSubmit="test(this)">
 <input type="text" name="x" value="10" />
 <input type="text" name="y" value="1"  />
 <input type="text" name="z" value="18"  />
 <input type="submit" />
</form>

您可以使用jQuery获取x,y,z的值,如:

<script>
function test(element){

    // Display the name of the element if you're curious
    alert($(ele).attr('name'));

    // I'm using Number() to convert the values to numbers
    // Using .find() to search descendants of element for an input
    // with a certain name.
    // If you fired this function from the element itself you
    // could use $(element).val(); to get its value
    var x = Number($(element).find('input[name="x"]').val());
    var y = Number($(element).find('input[name="y"]').val());
    var z = Number($(element).find('input[name="z"]').val());

    var total = x*z-y;

    // total = 179
    alert(total);

}
</script>

我希望这可以帮助你解决这个问题!