我在HTMLCodeTutorial.com上阅读了这段代码:
<FORM>
<TABLE BORDER CELLPADDING=3>
<TR>
<TD><NOBR>radius: <INPUT NAME="Circle_radius" SIZE=4></NOBR></TD>
<TD><INPUT TYPE=BUTTON OnClick="Circle_calc(this.form);" VALUE="calculate"></TD>
<TD ALIGN=RIGHT BGCOLOR="#AACCFF">
<NOBR>circumference: <INPUT NAME="Circle_circumference" SIZE=9></NOBR><BR>
<NOBR>area: <INPUT NAME="Circle_area" SIZE=9></NOBR></TD>
</TR>
</TABLE>
</FORM>
我无法理解OnClick="Circle_calc(this.form);"
Circle_calc(this.form)
未在任何地方定义。这个功能如何运作?它是HTML中的内置函数吗?
答案 0 :(得分:2)
它不是内置的。如果查看源代码,则定义为:
<SCRIPT TYPE="text/javascript">
<!--
function Circle_calc(GeoForm)
{
var CircleRadius = GeoForm.Circle_radius.value;
if (CircleRadius >= 0)
{
GeoForm.Circle_circumference.value = 2 * Math.PI * CircleRadius ;
GeoForm.Circle_area.value = Math.PI * Math.pow(CircleRadius, 2) ;
}
else
{
GeoForm.Circle_circumference.value = "";
GeoForm.Circle_area.value = "";
}
}
//-->
</SCRIPT>
答案 1 :(得分:2)
不幸的是,这是一个使用过时技术和非标准HTML元素的非常糟糕的教程。
Circle_calc
不是内置函数......教程只是忽略了定义它,或者表明它是在其他地方定义的。
强烈建议您为教程找到另一个网站,但遗憾的是没有推荐,因为我偶尔不需要一个:S
答案 2 :(得分:1)
实际上函数是定义的,它只是没有在教程代码中显示 - 查看源代码来查找它。
答案 3 :(得分:1)
他们一直很顽皮,
如果您在该页面上执行了一个视图页面源代码,并查看他们完成表单的方式,那么您会看到:
<SCRIPT TYPE="text/javascript">
<!--
function Circle_calc(GeoForm)
{
var CircleRadius = GeoForm.Circle_radius.value;
if (CircleRadius >= 0)
{
GeoForm.Circle_circumference.value = 2 * Math.PI * CircleRadius ;
GeoForm.Circle_area.value = Math.PI * Math.pow(CircleRadius, 2) ;
}
else
{
GeoForm.Circle_circumference.value = "";
GeoForm.Circle_area.value = "";
}
}
//-->
</SCRIPT>
<P>
<FORM>
<TABLE BORDER CELLPADDING=3>
<TR>
<TD><NOBR>radius: <INPUT NAME="Circle_radius" SIZE=4></NOBR></TD>
<TD><INPUT TYPE=BUTTON OnClick="Circle_calc(this.form);" VALUE="calculate"></TD>
<TD ALIGN=RIGHT BGCOLOR="#AACCFF">
<NOBR>circumference: <INPUT NAME="Circle_circumference" SIZE=9></NOBR><BR>
<NOBR>area: <INPUT NAME="Circle_area" SIZE=9></NOBR></TD>
</TR>
</TABLE>
</FORM>
<P>
如您所见,您现在拥有上下文中的HTML代码,您实际上可以看到HTML执行的脚本。由于脚本位于HTML文件中,因此您无需在HTML文件的顶部进行导入(如果这是正确的短语),告诉它使用哪个脚本文件。
此外,我强烈建议您使用W3c学校的教程,它们的里程更好,可以在这里找到它们:http://www.w3schools.com/w3c/w3c_html.asp
答案 4 :(得分:1)
在本教程的开头部分说明:
`onClick` gives the script to run when the user clicks on the input. `onClick` applies
to buttons (submit, reset, and button), checkboxes, radio buttons, and form upload buttons.
该功能在页面的源代码中定义:
function Circle_calc(GeoForm)
{
...
}
该函数接受表单作为参数,JavaScript函数将使用该参数对表单的文本字段中的值执行读/写操作。
我希望这会有所帮助。