1
は、私はGoogleのシートからロードされた情報でフォームを送信しようとしているhttps://developers.google.com/apps-script/guides/html/communicationて働いています。クライアント側では、私は(記事にフォームの例に大きく基づき)持っている:サーバー側(code.gs)で
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
// Prevent forms from submitting.
function preventFormSubmit() {
var forms = document.querySelectorAll('form');
for (var i = 0; i < forms.length; i++) {
forms[i].addEventListener('submit', function(event) {
event.preventDefault();
});
}
}
// window.addEventListener('load', preventFormSubmit);
function handleFormSubmit(formObject) {
google.script.run.withSuccessHandler(updateUrl).processForm(formObject);
}
// function updateUrl(url) {
// var div = document.getElementById('output');
// div.innerHTML = '<a href="' + url + '">Got it!</a>';
// }
</script>
</head>
<body>
<form id="myForm" onsubmit="handleFormSubmit(this)">
<div>
<select id="optionList" name="email">
<option>Loading...</option>
</select>
</div>
<br>
<div>
<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>
</div>
<input type="submit" value="Submit" />
</form>
私が持っている:
function processForm(formObject) {
Logger.log('in here');
var formBlob = formObject.myFile;
var driveFile = DriveApp.createFile(formBlob);
return driveFile.getUrl();
}
私が提出していることがわかります私はログの中に「ここに」あると思うので働いています。 processForm関数内からフォームフィールドにアクセスするにはどうすればよいですか?
どうかしてくれてありがとうございました。とにかくこれをデバッグするには?私は、AJAXを使用するときにブラウザコンソールを使用できることを知っています。 – user61629
'handleFormSubmit()'のようなクライアント側のJS関数でconsole.log()を使用できます。サーバー側(.gsファイル)には、ブラウザオブジェクトモデルへのアクセスがないため、Logger.log()を使用する必要があります。 –
ありがとう、私はそれを試してみます。 – user61629