作者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
1F:→ abgne:既然用getElementById()那应该就要在input中设个id吧.. 03/25 02:14
2F:→ TonyQ:用name也是抓的到啊@.@ 为甚麽要用id.. 03/25 02:17
4F:→ abgne:另外else if(name="text2")少了一个= :$ 03/25 02:18
5F:→ abgne:用name抓的到...这是IE的错啊... 03/25 02:19
6F:→ abgne:你不信的话 可以自己放两个text 一个只给name 一个只给id 03/25 02:27
7F:→ abgne:但是name跟id都取一样的 在用getElementById()去取值. 03/25 02:28
8F:→ abgne:别在把错的观念 但在IE上可以执行 就当然是对的... 03/25 02:29
9F:→ TonyQ:ok 学艺不精 见笑了~~ :) 03/25 02:58
※ 编辑: TonyQ 来自: 140.138.240.58 (03/25 02:59)
10F:推 andreli:感谢,我试试看。 03/25 07:41