0
我有一個電子表格並正在編寫與Twitter API集成的代碼。在我的表,我有兩個文件:如何從HTML頁面獲取Code.GS文件中的文本框值
- Code.gs
- settingpage.html
我有code.gs即CONSUMER_KEY,CONSUMER_SECRET一些全局變量。當用戶在文本框中輸入一個值並點擊保存按鈕時,我想設置這兩個變量。
文本框放在邊欄下。使用(HtmlService.SandboxMode.IFRAME)從settingspage.html生成補充工具欄
讓我知道如果我做錯了,或者以任何其他方式設置用戶輸入的全局變量值。
Code.gs
CONSUMER_KEY = "Your key value";
CONSUMER_SECRET = "Your key value";
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('BOT')
.addItem('Setting-config','fnShowSidebar')
.addItem('Start', 'StartCP')
.addSeparator()
.addItem('Stop', 'StopCP')
.addToUi();
}
function fnShowSidebar() {
var html = HtmlService.createHtmlOutputFromFile('settingpage')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Welcome to TwitterBot-RWT!')
.setWidth(300);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
settingpage.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
<style>
.centerAlign {
vertical-align: middle;
width:80%;
margin-top:10px;
}
.branding-below {
bottom: 56px;
top: 0;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$("#btn_save").click(function(){
google.script.run.withSuccessHandler(onSuccess).fn_setCustomValue();
});
function onSuccess(){
// Logger.log("Success!");
}
</script>
</head>
<body>
<div class="block form-group">
<label for="city">CONSUMER_KEY</label>
<input id="txt_CONSUMER_KEY" type="text" value="" style="width: 150px;" />
</div>
<div class="block form-group">
<label for="city">CONSUMER_SECRET</label>
<input id="txt_CONSUMER_SECRET" type="text" value="" style="width: 150px;">
</div>
<div class="block">
<button id="btn_save" class="create">Save</button> <button>Cancel</button>
</div>
</body>
</html>
編輯:
個HTML
<button id="btn_save" class="create">Save</button>
<button>Cancel</button>
</div>
JS:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(function() {
var buttonEl=document.getElementById("btn_save");
buttonEl.addEventListener("click", myFunction);
function myFunction() {
alert ("Hello World!");
var keyValue=document.getElementById("txt_CONSUMER_KEY").value;
var secretValue=document.getElementById("txt_CONSUMER_SECRET").value;
google.script.run.withSuccessHandler(onSuccess).fn_setCustomValue(keyValue,secretValue);
}
function onSuccess(){
Logger.log("Success!");
}
});
</script>
在點擊鏈接當您運行fn_setCustomValue你需要傳遞的值作爲參數我得到這個屏幕
線的東西,但仍然是其現在的工作。而不是使用document.getItemId(「」)已使用document.getElementbyId(「」)現在仍然解決。那麼在按鈕上單擊我打開一個新選項卡請檢查屏幕截圖上面已添加 –
您是對的,當然它會是getElementById。值是屬性不是元素的方法,如果刪除括號會發生什麼?對不起,我在我的手機上寫了這篇文章,並沒有仔細檢查 –
使用getElementById()後,它仍然無法正常工作。點擊按鈕打開一個新標籤,如上圖所示屏幕截圖 –