作者TonyQ (骨頭)
看板Web_Design
標題Re: [問題] 即時改變表單中欄位值
時間Sat Mar 25 01:01:41 2006
※ 引述《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
→ 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