精華區beta Web_Design 關於我們 聯絡資訊
※ 引述《andreli (第一次賭P幣就沒錢)》之銘言: : 因為我對JavaScript真的不怎麼熟,只會改改東西 : 所以用了一兩個小時,拜託了很久的辜狗大神,還是沒有辦法找到我要的東西 : 只好來拜託大家了。 : 我現在有兩個文字欄位,name分別為num1、num2都位於同個表單中 : 想讓num1+num2永遠都等於100 : 所以我在更改num1的時候,一但focusOut或者MouseOut的時候, : num2會直接成為100-num1的值。 : 自己想起來很像很簡單,可是沒有JavaScript的基礎不知道怎麼動手 : 希望知道的人可以給我個範例教一下 : (這裡所謂的即時還不用到類似ajax那樣,我先打個2另一個會出現98,接著補成 : 25另一個會變成75。我只想先用用看簡單的,離開欄位才進行確認及變更 ^ ^a : 不過如果會即時的樣子的話更好,謝謝指導。) 我的解法是用javascript的onChange 這個事件^ ^ <script language="JavaScript"> function change_event(){ var source = window.event.srcElement; if(source.name=="text1"){ var num1 = source.value; var num2_obj=document.getElementById("text2"); num2_obj.value= 100 - num1; }else if(name=="text2"){ var num2=source.value; var num1_obj=document.getElementById("text1"); num1_obj.value=100- num2; } } </script> <body> <input type="text" name="text1" onChange="change_event()"> <input type="text" name="text2" onChange="change_event()"> </body> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.240.58
abgne:既然用getElementById()那應該就要在input中設個id吧.. 03/25 02:14
TonyQ:用name也是抓的到啊@.@ 為甚麼要用id.. 03/25 02:17
TonyQ:我看這裡是說name有W3C而id沒有..http://0rz.net/fd19H 03/25 02:17
abgne:另外else if(name="text2")少了一個= :$ 03/25 02:18
abgne:用name抓的到...這是IE的錯啊... 03/25 02:19
abgne:你不信的話 可以自己放兩個text 一個只給name 一個只給id 03/25 02:27
abgne:但是name跟id都取一樣的 在用getElementById()去取值. 03/25 02:28
abgne:別在把錯的觀念 但在IE上可以執行 就當然是對的... 03/25 02:29
TonyQ:ok 學藝不精 見笑了~~ :) 03/25 02:58
※ 編輯: TonyQ 來自: 140.138.240.58 (03/25 02:59)
andreli:感謝,我試試看。 03/25 07:41
> -------------------------------------------------------------------------- < 作者: pico2k (風月) 看板: Web_Design 標題: Re: [問題] 即時改變表單中欄位值 時間: Sat Mar 25 09:12:01 2006 ※ 引述《andreli (第一次賭P幣就沒錢)》之銘言: : 因為我對JavaScript真的不怎麼熟,只會改改東西 : 所以用了一兩個小時,拜託了很久的辜狗大神,還是沒有辦法找到我要的東西 : 只好來拜託大家了。 : 我現在有兩個文字欄位,name分別為num1、num2都位於同個表單中 : 想讓num1+num2永遠都等於100 : 所以我在更改num1的時候,一但focusOut或者MouseOut的時候, : num2會直接成為100-num1的值。 : 自己想起來很像很簡單,可是沒有JavaScript的基礎不知道怎麼動手 : 希望知道的人可以給我個範例教一下 : (這裡所謂的即時還不用到類似ajax那樣,我先打個2另一個會出現98,接著補成 : 25另一個會變成75。我只想先用用看簡單的,離開欄位才進行確認及變更 ^ ^a : 不過如果會即時的樣子的話更好,謝謝指導。) 我是用onBlur事件來處理. 以下是sample code. <html> <body> <input type=text name="txt1" size="3" onblur="OnBlur()"></input> <input type=text name="txt2" size="3"></input> </body> <script language="javascript"> function OnBlur() { var sum = 100; txt2.value = sum - parseInt(txt1.value); } </script> </html> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.71.65.178 > -------------------------------------------------------------------------- < 作者: andreli (第一次賭P幣就沒錢) 看板: Web_Design 標題: Re: [問題] 即時改變表單中欄位值 時間: Sat Mar 25 11:47:08 2006 ※ 引述《pico2k (風月)》之銘言: : ※ 引述《andreli (第一次賭P幣就沒錢)》之銘言: : : 因為我對JavaScript真的不怎麼熟,只會改改東西 : : 所以用了一兩個小時,拜託了很久的辜狗大神,還是沒有辦法找到我要的東西 : : 只好來拜託大家了。 : : 我現在有兩個文字欄位,name分別為num1、num2都位於同個表單中 : : 想讓num1+num2永遠都等於100 : : 所以我在更改num1的時候,一但focusOut或者MouseOut的時候, : : num2會直接成為100-num1的值。 : : 自己想起來很像很簡單,可是沒有JavaScript的基礎不知道怎麼動手 : : 希望知道的人可以給我個範例教一下 : : (這裡所謂的即時還不用到類似ajax那樣,我先打個2另一個會出現98,接著補成 : : 25另一個會變成75。我只想先用用看簡單的,離開欄位才進行確認及變更 ^ ^a : : 不過如果會即時的樣子的話更好,謝謝指導。) : 我是用onBlur事件來處理. : 以下是sample code. : <html> : <body> : <input type=text name="txt1" size="3" onblur="OnBlur()"></input> : <input type=text name="txt2" size="3"></input> : </body> : <script language="javascript"> : function OnBlur() : { : var sum = 100; : txt2.value = sum - parseInt(txt1.value); : } : </script> : </html> 感謝大家的回覆,不管是onChange或者是onBlur都可以做到我要的效果 非常感謝! 另外提供一個abgne大提供給我的程式碼給大家參考,他也是使用onBlur <INPUT TYPE="text" NAME="a1" onblur="a2.value=100-a1.value;">+<INPUT TYPE="text" NAME="a2" onblur="a1.value=100-a2.value;">=100 再次感謝 <(_ _)> -- 1126 cathycathykc 給我一個帥哥相簿看看 15:56 1127 andre http://spaces.msn.com/members/andretaiwan/ 15:57 1128 andre >\\\< 15:57 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.49.249