在JavaScript中调用RadButton的click()

时间:2014-05-08 22:39:09

标签: javascript asp.net iframe telerik

我有一个包含RadButton的iFrame。 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中。)

有人可以帮助我,如何获得控制权?

2 个答案:

答案 0 :(得分:0)

您使用onclick,例如:

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

document.getElementById("ele").onclick();

你应该为onclick

的elemenet做一个功能

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

答案 1 :(得分:0)

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

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

其中getMyRadButton类似于

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