ajax 复制到“剪贴板”
有時候可能會做一些“復制”按鈕的功能,當用戶點擊“復制”按鈕時,就會將要復制的內容復制出來,以下代碼即實現“復制”按鈕的功能。該功能需要用到AJAX的PageMethods來調用頁面后臺代碼來實現。
調用PageMethods,需要引用
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
???? // GetCopyData是頁面后臺(.aspx.cs)方法,輸入參數為txt,copyToClipBoard是成功調用的JS方法,OnError是出錯調用的方法
??????? function ajax(txt) {
??????????? PageMethods.GetCopyData(txt, copyToClipBoard, OnError);
??????????? return true;
??????? }
??????? function copyToClipBoard(arg) {
??????????? if (arg == "") {
??????????????? //alert("沒有數據可用于復制");
??????????? }
??????????? else {
??????????????? //復制
window.clipboardData.setData("Text", arg);
???????? }
??????? }
??????? function OnError(arg) {
??????????? alert(arg.get_message());
??????? }
???? ?
???? //最外層調用方法?? copy
??????? function copy(txt) {
??????????? ajax(txt)
??????????? return false;
??????? }
注:頁面上還需要加下面這句,將EnablePageMethods="true"
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
//頁面復制按鈕
<input type="text" id="txtContent" />
??????? <input type="button" οnclick='copy(txtContent.value)' value="復制" />
頁面后臺代碼:
[WebMethod]
public static string GetCopyData(string txt)
{
return txt;
}
后記:在啟動調試時,彈出了錯誤提示對話框,大致內容為:無法啟動程序http://localhost:8289/default.aspx,找不到元素。在網上搜了一下,解決方法:將360的防火墻關閉。果然有效!
轉載于:https://www.cnblogs.com/lansedehai1986/archive/2011/05/30/hcx201105302248.html
總結
以上是生活随笔為你收集整理的ajax 复制到“剪贴板”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光与夜之恋怎么重置选项
- 下一篇: 改变地址栏图标