所以我做了一個註冊表單的ATM,我有它像我想它迄今爲止除了多餘的JavaScript代碼來實時檢查值(onmouseover,onmouseout, onblur等)。
少量樣品:腳本中的事件的javascript觸發器函數,而不是明確的HTML
<tr>
<td>
<label for="name"
onmouseover="fieldSelected('name', '', 3);"
onmouseout="checkValue('name', '', 3);">
Enter your name:
</label>
</td>
<td>
<input type="text"
id="name"
name="name"
onmouseover="fieldSelected('name', '', 3);"
onmouseout="checkValue('name', '', 3);"
onblur="checkValue('name', '', 3);">
</td>
</tr>
fieldSelected使得場背景黃色如果指定元素(第一個參數)的值相匹配的第二個參數(缺省值)或大於第三參數短。
您將鼠標懸停在標籤或輸入字段上,它將bg首先更改爲黃色,然後更改爲紅色(因爲您沒有輸入任何內容)。
checkValue根據值(相同參數)將字段背景更改爲紅色或綠色。
您在輸入字段中輸入內容,切換到另一個字段並更改背景顏色。現在,您可能會注意到,現在有很多JavaScript函數調用(每個輸入/選擇字段有5個)。如果有人知道從另一個地方附加這些事件觸發器的方法(我通常不會將這個髒代碼編碼),那麼這將非常棒,而不是直接以這樣的形式,並且最好是同時對多個ID進行編碼。我在這裏有jQuery,但我真的沒有JavaScript專家。
或者也許有一個更簡單的方法來做到這一點?我希望字段背景顏色在所有這些事件上發生變化以獲得最大的交互性。當然,當所有的數據都傳到服務器端時,沒什麼大不了的,但我只是想這樣。
不知何故,它不工作... http://jsfiddle.net/XdzeX/6/ 真的很好的網站,雖然:) – jurchiks
它_mostly_作品(見#7) - 你有兩個函數中錯誤的參數名稱。不過,我沒有看到任何紅色。 – Alnitak
這工作在小提琴:http://jsfiddle.net/T6vvN/8/ 將看到真實的網站上會發生什麼。 – jurchiks