2011-05-10 63 views
2


我讀了HTMLCodeTutorial.com此代碼:定義此HTML代碼段中的onclick函數在哪裏?

<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中的內置函數嗎?

+2

你應該找到一個教程,HTML標籤是小寫的。 – thirtydot 2011-05-10 22:06:59

+1

你應該找到一個HTML標記不是非標準的教程 – Dancrumb 2011-05-10 22:09:40

回答

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> 
+0

源代碼在哪裏? – 2011-05-10 22:10:55

+1

補給它Kei,你打敗了我:-) mehdi,這是它運行的腳本,在頁面上點擊右鍵並選擇查看源代碼。我在我的答案中粘貼了HTML源代碼,但kei先到那裏:-) – Welshboy 2011-05-10 22:12:53

+0

您的權利我看到了。 – 2011-05-10 22:16:22

2

不幸的是,這是一個非常糟糕的教程,使用過時的技術和非標準的HTML元素。

Circle_calcCircle_calc不是一個內建函數......本教程只是簡單地忽略了定義它,或者指出它在其他地方定義。

強烈建議你找其他網站爲您的教程,但不幸的是因爲我沒有必要一個在一段時間有沒有推薦:S

+0

第二個到另一個教程 - 除了打破標準,它似乎是非常古老的。 – 2011-05-10 22:11:08

+0

如果可能我們在html中定義一個函數? – 2011-05-10 22:12:28

1

事實上函數定義,它只是沒有在顯示教程代碼 - 查看源代碼以找到它。

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

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) 
{ 
    ... 
} 

該函數接受窗體作爲將被Ja​​vaScript使用的參數函數對錶單的文本字段中的值執行讀/寫操作。

我希望這會有所幫助。

相關問題