Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种简单而有效的方法可以让JS在表单中正常工作?_Javascript_Html_Forms - Fatal编程技术网

Javascript 有没有一种简单而有效的方法可以让JS在表单中正常工作?

Javascript 有没有一种简单而有效的方法可以让JS在表单中正常工作?,javascript,html,forms,Javascript,Html,Forms,昨天我问了一个类似的问题,答案非常清楚,所以我认为我理解这个概念。今天早上,我设置了一个新的HTML表单,并编写了一个小的javascript代码片段,以使其正常工作。但同样没有什么,我尝试了各种各样的实现,但没有得到响应。 我尝试了操作属性,我尝试了onclick,我查看了引用,一切看起来都很好。我刚开始学习编程,所以我可能错过了一些愚蠢的东西,但我需要帮助 这是我的密码: <html> <head> <title>PROVA</title>

昨天我问了一个类似的问题,答案非常清楚,所以我认为我理解这个概念。今天早上,我设置了一个新的HTML表单,并编写了一个小的javascript代码片段,以使其正常工作。但同样没有什么,我尝试了各种各样的实现,但没有得到响应。 我尝试了
操作
属性,我尝试了onclick,我查看了引用,一切看起来都很好。我刚开始学习编程,所以我可能错过了一些愚蠢的东西,但我需要帮助

这是我的密码:

<html>
<head> <title>PROVA</title>



</head>
<body>
<form action="javascript: eseguiMedia();" >
Proponi un numero per ogni campo:<br>
<input type="text" id="numero1" ><br>
<input type="text" id="numero2" ><br>
<input type="text" id="numero3" ><br>
<input type="submit" value="Submit" >
</form>




<script type="text/javascript">



function eseguiMedia() {
var value1 = document.getElementsById("numero1").value; 
var value2 = document.getElementsById("numero2")value; 
var value3 = document.getElementsById("numero3").value;
var average = Media(value1,value2,value3); 
average = Math.round(average * 100);
 average = average / 100;
alert("La media di " + value1 + ", " + value2 + " and " + value3 + " \(rounded to two places\) è " + average + ".");

}

function Media(num1,num2,num3) {
return ( (num1*1) + (num2*1) + (num3*1) ) / 3; }




</script>

</body>
</html>

普罗瓦
每个ogni营地的人数:



函数eseguiMedia(){ var value1=document.getElementsById(“numerio1”).value; var value2=document.getElementsById(“numero2”)值; var value3=document.getElementsById(“numero3”).值; var平均值=中间值(值1、值2、值3); 平均数=数学四舍五入(平均数*100); 平均值=平均值/100; 警报(“La媒体di”+value1+”、“+value2+”和“+value3+”\(四舍五入到两位\)e“+average+”; } 功能介质(num1、num2、num3){ 返回((num1*1)+(num2*1)+(num3*1))/3;}
我尝试了不同的解决方案:

  • 以这种方式使用action属性action=“javascript:eseguiMedia();”
  • 无操作,但使用按钮中的onclick=“eseguiMedia();”。 . 和他们两个
我想知道在HTML表单中调用函数并向其传递值的正确且始终有效的方法是什么


ps(我知道jquery更好,但我需要在这次考试中使用javascript)

在JS中验证表单的传统方法是使用表单的
onsubmit
属性。。。泰,但我也尝试过这种方式,但当我点击提交按钮时,什么也没有发生!至少有两个语法错误:
document.getElementsById(“numero2”)值-您缺少一个“.”介于“(”和“值”。
”\(四舍五入到两位\)è“
”\”是JS字符串中转义序列的开始,您需要执行以下操作:
“\(四舍五入到两位\)è”
(如果您只需要括号,则根本不需要)您应该在浏览器的控制台中查看(Firefox中的CTRL-Shift-K或使用firebug/chrome开发工具)。这将显示由JS引起的所有错误。一般来说,如果JS在应该做某件事的时候什么都不做,可能是因为控制台中会出现错误(或者,可能是因为你的JS没有正确加载,但在这种情况下,当它嵌入时不应该应用)。@RobH好的,我修改了它,但是当我点击按钮时,什么也没有发生……无论如何,谢谢你。