2011-10-04 46 views
0

我有使用中DIFF CVS一些修改兩個按鈕:爲什麼javascript列表中的多個小數位在元素列表錯誤之後會拋出'missing'?

按鈕:

<input type="button" onclick="javascript:var from = get_diff_from(this.form,2); var to = get_diff_to(this.form,2); parent.show_file('196382', 'telecom.mod', 'teleTWTA.c', from, to, 'webtools/cvsweb/cvsweb.cgi', 'fsw', 
get_chg_array([1.2,1.3], [0,196382], from, to));" value="Diff teleTWTA.c"> 

按鈕B:

<input type="button" onclick="javascript:var from = get_diff_from(this.form,3); var to = get_diff_to(this.form,3); parent.show_file('196383', 'telecom.mod/test/solaris.ut/telecom_twta.exe', 'ut_teleTWTA.c', from, to, 'webtools/cvsweb/cvsweb.cgi', 
'fsw', get_chg_array([1.1.1.1,1.2], [0,196383], from, to));" value="Diff ut_teleTWTA.c"> 

按鈕做工精細,但按鈕B扼流圈點擊並在元素列表後拋出'丟失]。我能想出的唯一解釋是按鈕B中較長的cvs修訂版本號(1.1.1.1)。爲什麼JS會打破這一點,我該如何解決它?

+2

對於「onfoo」屬性值中的代碼,您不需要「javascript:」前綴。 – Pointy

回答

6

1.1.1.1應該用引號括起來,因爲它是一個字符串,而不是一個有效的數字。否則,它將嘗試作爲嵌套屬性名爲1的對象進行評估。

編輯:實際上,由於1不是有效的javascript變量名,我不太確定運行時將如何試圖評估1.1.1.1。無論如何,這當然是無效的。

+0

啊,我明白了!所以其他人的工作作爲浮點小數,但一旦你得到一個十進制,它必須是一個字符串,否則JS開始把它當作一個對象。 – pennstatephil

+0

它確實不是一個有效的數字,但根據規格,它不會執行屬性查找,因爲變量名稱不能是數字。 – pimvdb

+0

@pimvdb - 感謝您的澄清。我發佈後,我做了一些研究,並自己發現了這一點。編輯我的帖子。 – RoccoC5

相關問題