javascript 高手来回答 答对加100

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:38:46
页面其中一个普通按钮调用了一个javascript 方法,
这个方法怎么判断是哪个按钮在调用它,并判断调用它的按钮所在的FORM表单ID,FORM有什么控件?,

其实呢,很简单,js有事件嘛

例如有两个按钮如下:

<input type="button" name="b1" onclick="fun()">
<input type="button" name="b2" onclick="fun()">

这两个按钮点击事件处理函数是一样的,都是fun(),但是两个按钮的name属性不一样,那么fun()函数中怎么知道是哪个按钮调用它(或者说是点击了哪个按钮)呢?fun()可以这样写:

function fun(){
alert(event.srcElement.name);
}

这个函数中的event是什么呢?就是事件对象,对于两个按钮来说,只有当发生点击(click)事件的时候才会调用到fun(),所以这里的event事件对象就是click。那么srcElement又是什么呢?它就是这个event事件发生的源对象,换句话说就是这个event发生在什么东西上。所以当点击b1按钮的时候,event.srcElement就是按钮b1这个元素,因此alert提示出来的就是b1的name。类似,点b2的时候就是提示b2的name。

不知道你明白了没有?

至于你说的按钮所在的form表单id,这个没有统一的办法,因为form表单和发生点击事件的按钮所处的节点层次不能确定。例如:
<form id="f1">
<input type="button" name="b1" onclick="fun()">
</form>
因为f1下面直接包含了按钮b1,所以fun()函数里面如果用event.srcElement获得了b1对象,然后再取b1对象的parentNode就是f1对象了。例如fun()函数这样写:
function fun(){