一个按钮,一个文本框,点击按钮,通过代码document.getElementById('text').value='hello',使文本框的数值变为了hello。但是文本框的onchange="alert(123)"的事件并没有激发,请问,怎样修改,才能使得通过代码document.getElementById('text').value='hello'的方式,能让文本框感觉到自己的
数值改变,从来激发某种事件呢?onchange好像不行。注:使文本框内容的改变不是通过键盘输入的,这样我知道可以用keyup来获取,就是想通过其它按钮静态改变此文本框数值的。先给100分,不够在增加,万分感谢。简单的代码如下:<html>
<body>
<input type="text" onchange="alert(123)" id="text">
<input type="button" value="submit" onclick="document.getElementById('text').value='hello'">
</body>
</html>
数值改变,从来激发某种事件呢?onchange好像不行。注:使文本框内容的改变不是通过键盘输入的,这样我知道可以用keyup来获取,就是想通过其它按钮静态改变此文本框数值的。先给100分,不够在增加,万分感谢。简单的代码如下:<html>
<body>
<input type="text" onchange="alert(123)" id="text">
<input type="button" value="submit" onclick="document.getElementById('text').value='hello'">
</body>
</html>
<body>
<input type="text" onpropertychange="alert(123)" id="text">
<input type="button" value="submit" onclick="document.getElementById('text').value='hello'">
</body>
</html>
oninput用这两个~·一个是IE的一个FF的~·
IE用onpropertychange可以
但是FF用oninput不行啊,没反应
谢谢。FF代码如下:<html>
<body>
<input type="text" oninput="alert(123)" id="text">
<input type="button" value="submit" onclick="document.getElementById('text').value='hello'">
</body>
</html>
<body>
<input type="text" id="text">
<input type="button" value="submit" id='btn'><script>
var txtInput = document.getElementById('text');
var btn=document.getElementById('btn');
if(document.all){
txtInput.onpropertychange=fn;
}else{
txtInput.oninput=fn;
}
btn.onclick=function(){setValue('hello'); };
function setValue(v){
if(v==txtInput.value) return;
txtInput.value = v;
if(!document.all){fn();}
}
function fn(){
alert("changed");
}
</script>
</html>
<script type="text/javascript">
function immediately(){
var element = document.getElementById("mytext");
if(document.all) {
element.onpropertychange = webChange;
}else{
element.addEventListener("input",webChange,false);
} function webChange(){
if(element.value){alert(11)};
}
} immediately()
</script>
HTML code
<html>
<body>
<input type="text" onpropertychange="alert(123)" id="text">
<input type="button" value="submit" onclick="document.getElementById('text').value='hello'">
</body>
</html>
……
<tr bgcolor="#99CC00">
<td bgcolor="#FEFEFE"> </td>
<td>科目</td>
<td>一月</td>
<td>二月</td>
<td>三月</td>
<td>四月</td>
<td>五月</td>
<td>六月</td>
<td>七月</td>
<td>八月</td>
<td>九月</td>
<td>十月</td>
<td>十一月</td>
<td>十二月</td>
<td>Total</td>
</tr>
<tr>
<td> 房租</td>
td><input type="text" value="${finance.rent[0]}" id="1FZ" size=2 style="border:0px;" /> </td>
<td><input type="text" value="${finance.rent[1]}" id="2FZ" size=2 style="border:0px;" /></td>
</tr>
<tr>
<td>物业管理费</td>
<td><input type="text" value="${finance.managementFee[0]}" id="1WY" size=2 style="border:0px;" /></td>
<td><input type="text" value="${finance.managementFee[1]}" id="2WY" size=2 style="border:0px;" /></td>
</tr>
<tr>
<td>其他办事处及公司宿舍租金</td>
<td><input type="text" value="${finance.otherOfficeAndCompanysRent[0]}" id="1ZJ" size=2 style="border:0px;" /></td>
<td><input type="text" value="${finance.otherOfficeAndCompanysRent[1]}" id="2ZJ" size=2 style="border:0px;" /></td>
</tr>
<tr>
<td>公司开会酒店食宿会务费用</td>
<td><input type="text" onblur="getAggregate(this)" id="1KH" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2KH" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>员工福利费(社保补贴)</td>
<td><input type="text" onblur="getAggregate(this)" id="1SBBT" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2SBBT" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>员工福利费(手机补贴)</td>
<td><input type="text" onblur="getAggregate(this)" id="1SJ" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2SJ" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>员工福利费(住房补贴)</td>
<td><input type="text" onblur="getAggregate(this)" id="1ZF" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2ZF" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>员工福利费(车贴)</td>
<td><input type="text" onblur="getAggregate(this)" id="1CT" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2CT" size=2 style="border:0px;"/></td>
</tr><tr>
<td>员工活动费</td>
<td><input type="text" value="${finance.staffActivities[0]}" id="1HD" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.staffActivities[1]}" id="2HD" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>员工学习及培训费</td>
<td><input type="text" value="${finance.learningAndTraining[0]}" id="1PX" size=2 style="border:0px;" /></td>
<td><input type="text" value="${finance.learningAndTraining[1]}" id="2PX" size=2 style="border:0px;" /></td>
</tr>
<tr>
<td>财务费用</td>
<td><input type="text" onblur="getAggregate(this)" id="1CW" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2CW" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>工资</td>
<td><input type="text" onblur="getAggregate(this)" id="1GZ" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2GZ" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>佣金</td>
<td><input type="text" onblur="getAggregate(this)" id="1YJ" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getAggregate(this)" id="2YJ" size=2 style="border:0px;"/></td>
</tr>
<tr>
<td>期间费用合计</td>
<td><input type="text" id="1HJ" readonly="readonly" size=3 style="border:0px;"/></td>
<td><input type="text" id="1HJ" readonly="readonly" size=3 style="border:0px;"/></td>
</tr>房租 、物业管理费、 其他办事处及公司宿舍租金、 员工活动费、 员工学习及培训费这五项是从数据库查询出来的,
公司开会酒店食宿会务费用、员工福利费(社保补贴)、员工福利费(手机补贴)、员工福利费(住房补贴)、员工福利费(车贴)、财务费用、工资、佣金
这八项是手填的。期间费用合计是等于 从数据库查询出来的五项 加上 手填的八项。
用js怎么去写的实现方法。
BrowserObj={
showValue:function (){
$id("text-size").innerHTML = $o("title-text").value;
},
Browser:function(){
if(/msie/i.test(navigator.userAgent)){
$id("title-text").onpropertychange=this.showValue;
}else{
$id("title-text").addEventListener("input",this.showValue,false)
}
}
}
BrowserObj.Browser()onpropertychange onpropertychange能及时捕获属性值的变化,但是只支持IE,火狐并不支持,需要用addEventListener来注册事件
因为赋值的话文本框肯定会得到焦点的