-1
<input id="UploadButton" type="button" value="Upload" onclick="xyz"/> 

<script language="javascript" type="text/javascript">
    $(function () {
        $().SPServices({
            operation: "GetList",
            listName: "Docs",
            async: false,
            completefunc: function (xData, Status) {
                id = $(xData.responseXML).find("List").attr("ID");
            }
        });

        reference = "./_layouts/Upload.aspx?List=" + id + "&amp;RootFolder=";
        $('#UploadButton2').attr("href", reference);
        alert($('#UploadButton2').attr("href"));

        js = "javascript:" + "NewItem2(event, &quot;" + reference + "&quot;);javascript:return false;";
        $('#UploadButton').attr("onclick", js);
        alert($('#UploadButton').attr("onclick"));
    });
</script>    

我找到了一些适合我的问题的东西或解决方案,但它不起作用。

我只想设置或更改输入类型(id=UploadButton)的“onclick”事件和

alert($('#UploadButton').attr("onclick"));

给我来自“js”的字符串。到目前为止一切顺利......但如果我点击 UploadButton 没有任何反应。浏览器似乎无法识别更改。我当前代码中的解决方案并不是我过去几个小时尝试过的唯一一个。我尝试过的解决方案之一是使用 jQuery 的 so .click() 方法,但我不能通过 .click() 调用“NewItem2()”函数,对吗?我的主要目标是使用字符串“reference”的信息在 UploadButton 上调用“NewItem2()”函数。不幸的是,NewItem2() 是 Sharepoint 的一个函数,所以里面没有用我的双手编写的代码,但是如果我在代码中硬设置属性 onclick,则按钮工作正常:-/

上次我看到了很多不同的解决方案,但没有什么不适合我,但我认为失败在我的网站上。

4

2 回答 2

0

要为该按钮设置onclick事件,您需要绑定一个匿名函数:

$( '#UploadButton' ).click( function () {
    // Do stuff here
} );

...或绑定另一个命名函数:

$( '#UploadButton' ).click( myClickHandler );
于 2012-10-29T15:47:52.527 回答
0

您将调用 NewItem2 作为字符串,您将有更好的运气改变

js = "javascript:" + "NewItem2(event, &quot;" + reference + "&quot;);javascript:return false;";
$('#UploadButton').attr("onclick", js);

$('#UploadButton').click( function (event) {
    NewItem2(event, reference);
    return false;
});
于 2012-10-29T16:12:55.290 回答