在JavaScript中调用RadButton的click()

Call click() of RadButton in JavaScript

本文关键字:click RadButton JavaScript 调用      更新时间:2023-09-26

我有一个iFrame,它包含一个RadButton。ID为btnTest。

现在,我尝试从iFrame外部调用这个RadButton的click方法。我试过了:

function SaveClick() {
    var iframe = document.getElementById('ifr');
    alert(iframe.id);
    var doc = iframe.contentWindow.document;
    if(doc) {
        alert('aaa');
    }
    //var btn = doc.getElementById('<%=btnTest.ClientID %>');
    var btn = $find('<%=btnTest.ClientID %>', doc);
    if(!btn) {
        alert('bbb');
    }
    btn.click();
}

但是一切都不正常。

我可以得到iFrame (iFrame的id显示在第一个警报),也'aaa'显示在第二个警报。但是我无法获得btn(第三个带有'bbb'的警报也显示,因为if中没有)。

谁能帮我一下,怎么控制?

在您放入iframe的页面中创建一个函数。这个函数将返回一个对按钮的引用。

var btn = iframe.contentWindow.getMyRadButton();
btn.click();

其中getMyRadButton类似于

function getMyRadButton() {
 return $find("<%=RadButton1.ClientID%>");
}

您使用onclick,例如:

document.getElementById("ele").onclick = function(){
    alert("Hello World");
}
document.getElementById("ele").onclick();

并且您应该为onclick的该元素创建一个函数。

http://jsfiddle.net/3RTGL/1/