获取由IE捕捉的事件对象,然后获取哪个控件触发
whichIt = event.srcElement;
whichIt = event.srcElement;
解决方案 »
- 请教各位大虾一个ext4.0下的radiogroup的动态赋值问题
- javascript最好的测试环境是什么呢?在ie和firefox中有什么典型的不同呢
- JS 在、select 中选择一条记录其他的选择项跟着变动
- 为空或者不是对象到底是什么错?
- JS输入框onchange事件无效的问题
- 关于表格的问题。谢谢
- javascript来读取INI文件
- 如何控制页面中的所有TEXT框
- 高分求简单的东东:将字符转为数值的函数是什么呀?
- 可不可以创建一个浏览器窗体始终在最上面?
- ●●●JS限制上传文件大小的问题:为什么取得的fileSize总是-1??●●●
- 如何获取一个对象的标签?例如<a...>或者<img...>
不行,这个捕获到的是form的id
捕获不到是哪个按钮提交的
var form1=document.forms["form1"];
for(var i=0; i<form1.length; i++){
if(form1[i].type=="submit"){
form1[i].onclick = function(){
alert(this.id);
}
}
}
</script>
手里没有工具不好测试
或着你干脆就每个type=submit的都加个onclick事件 (作用是给一个隐藏的input付值这样客户端和服务器端以后都好处理)
<input name=a>
<input name=a>
<input name=b1 type=submit value="b1"> <input name=a>
<input name=a>
<input name=b1 type=submit value="b2"> </form>
如果submit按扭有name,在提交的时候,会把生效的那个submit按钮提交,
在上代码,在ie/ff里分别点击两个按钮后,观察一下地址栏,可以看出区别来
我在帖子中已经明确的表示不希望在onclick事件中有任何处理,而是希望有其他的途径
多谢,document.activeElement在IE里面是可以的哦
好像其他浏览器没有这个方法
-------
<form name=frm onsubmit="alert((document.activeElement||event.explicitOriginalTarget).value);" action="http://www.google.com">
<input name=a>
<input name=a>
<input name=b1 type=submit value="b1"> <input name=a>
<input name=a>
<input name=b1 type=submit value="b2"> </form>
惊爆支持ASP、ASP.NET2.0空间500M+SQL数据库100M 特惠价格:128一年
http://www.myidc.info/webhost/stylehost.aspx
=============================================================
{
}就是这个 写过这样的代码 所有按钮提交时统一判断 然后根据活动ID来区分
如果你是不想手写100次onclick的话,那么在复制一百次type=submit的时候把onclick也顺便一道复制100次不就得了?
var t1 = event.srcElement;//得到事件触发元素
v = t1.value;//得到事件触发元素的值
i = t1.id;//得到事件触发元素的id
t = t1.type;//得到事件触发元素的类型
其实一般没有必要用那么提交按钮的
<script>
var clickButton;
</script>
....
<input id="button1" type=submit onclick="clickButton =this">
<input id="button2" type=submit onclick="clickButton =this">
.......................
如果不想每个按钮都加这这样的代码
可以遍历按钮添加事件
for button in buttons
{
button.attachEvent("onclick",clickButton =this);
}
即使100个submit按钮都有相同的name属性以及相同的文字标签)。顺便说一句,即使有100个submit按钮,但实际上默认按钮还是只有一个,你看看网页效果就可以区分出来,默认按钮的边框不一样,在单行文本框里面按回车的时候,相当于点击了那个默认按钮。对于100个submit按钮,如何在程序中区分也非常简单,上面各位朋友说了很多了。
我再加一个简单的统一识别方法(以ie为例):
<form ... onclick="s();return false;">
(注意,这里是onclick,不是onsubmit)
<input type=submit value=b1>
...(b2~b99)...
<input type=submit value=b100>
</form>
<script>
function s(){
var o=event.srcElement; if(o.type=="submit"){alert(o.value);}
}
</script>
我想要的就是,不需要在每个submit按钮onclick中加东西呵呵,至于用途,目前正在做一个基于ASP.net的Ajax框架,需要在客户端js中把触发提交的submit按钮的值XmlHttp方式post到服务器。考虑到通用性,所以不能在每个submit按钮onclick中加东西