第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

當(dāng)用戶使用 onbefoerunload 進(jìn)行導(dǎo)航時(shí),如何在 jexcel 單元格發(fā)生更改時(shí)發(fā)出警報(bào)

當(dāng)用戶使用 onbefoerunload 進(jìn)行導(dǎo)航時(shí),如何在 jexcel 單元格發(fā)生更改時(shí)發(fā)出警報(bào)

素胚勾勒不出你 2022-08-04 09:49:07
我想顯示一個(gè)警報(bào),提醒在jexcel單元格中所做的更改。我有一個(gè)保存按鈕來保存數(shù)據(jù)?,F(xiàn)在,如果用戶更改了任何單元格,我希望在導(dǎo)航到其他頁面時(shí)使用顯示警報(bào)。onbeforeunloadvar unsaved = false;$(":input").change(function(){ //triggers change in all input fields including text type    unsaved = true;});function unloadPage(){    if(unsaved) {        return "You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?";    }}window.onbeforeunload = unloadPage;此代碼僅適用于輸入類型。如何使它對jexcel細(xì)胞起作用。I use jexcel v4
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以將事件偵聽器附加到j(luò)excel表,這里有一個(gè)jsfiddle來演示如何監(jiān)聽單元格上的更改事件,這里也是代碼作為片段(片段將不起作用,因?yàn)镾O是沙箱,不允許某些代碼運(yùn)行,如果您進(jìn)行測試,此片段將在您的本地計(jì)算機(jī)上工作):onchange

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<html>

<script src="//bossanova.uk/jexcel/v4/jexcel.js"></script>

<script src="//bossanova.uk/jsuites/v2/jsuites.js"></script>

<link rel="stylesheet" href="//bossanova.uk/jexcel/v4/jexcel.css" type="text/css" />

<link rel="stylesheet" href="//bossanova.uk/jsuites/v2/jsuites.css" type="text/css" />


<div id="spreadsheet"></div>

<div>

    <button onclick="$('#log').html('')">Clear</button><br>

    <p>Log:</p>

    <div id="log" style="background-color:#c7eaff; border-radius:2px; color:#000; padding:20px"></div>

</div>


<script>

var changed = function(instance, cell, x, y, value) {

    var cellName = jexcel.getColumnNameFromId([x,y]);

    $('#log').append('<p>New change on cell ' + cellName + ' to: ' + value + '</p>');

}


var data = [

    ['Mazda', 2001, 2000, '2006-01-01'],

    ['Pegeout', 2010, 5000, '2005-01-01'],

    ['Honda Fit', 2009, 3000, '2004-01-01'],

    ['Honda CRV', 2010, 6000, '2003-01-01'],

];


jexcel(document.getElementById('spreadsheet'), {

    data:data,

    rowResize:true,

    columnDrag:true,

    columns: [

        { type: 'text', width:'200' },

        { type: 'text', width:'100' },

        { type: 'text', width:'100' },

        { type: 'calendar', width:'100' },

    ],

    onchange: changed

});

</script>

</html>

因此,您只需在事件偵聽器中更改未保存的變量/標(biāo)志即可,此示例也取自官方網(wǎng)站,其中有一個(gè)附加到j(luò)excel表的事件偵聽器列表onchange




查看完整回答
反對 回復(fù) 2022-08-04
?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

Jsuites是jexcel的依賴項(xiàng),并且已經(jīng)有一個(gè)插件可以實(shí)現(xiàn)這一點(diǎn)。


<form id='myForm'>

<input type='hidden' name='data'>

<div id='spreadsheet'></div>

<input type='button' value='Save data' onclick='saveData(); myTracker.resetTracker()'>

</form>


<script>

var myTracker = jSuites.tracker(document.getElementById('myForm'));


jexcel(document.getElementById('spreadsheet'), {

    onafterchanges: function(el) {

        document.forms[0].name.value = el.jexcel.getData();

    }

}

</script>

因此,基本上,您實(shí)現(xiàn)saveData來保存數(shù)據(jù)并重置跟蹤器以再次開始跟蹤更改。


此處的另一個(gè)更改是僅在設(shè)置初始表內(nèi)容后才啟動 formTracker。因此,如果用戶打開表,則不執(zhí)行任何更改,并且離開不會發(fā)出警報(bào),因?yàn)閿?shù)據(jù)中沒有更改。


資料來源:https://bossanova.uk/jsuites/tracking-for-form-changes


查看完整回答
反對 回復(fù) 2022-08-04
  • 2 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號