Есть ли способ получить входные значения текстового поля из HTML-письма - PullRequest
0 голосов
/ 26 декабря 2018

В настоящее время я создаю форму заявления на отпуск, используя скрипт Google.После того, как пользователь отправляет форму, он отправляет электронное письмо руководителю.Надзорный орган может утвердить или отклонить и указать причину отклонения из самого электронного письма.Я получил рабочий процесс полностью готовым и работающим, теперь я просто застрял в получении значения из текстового поля, введенного в электронное письмо, и установил полученное значение в электронную таблицу.Любые предложения или другие обходные пути?

Я пробовал document.getElementId (), но документ не определен здесь, так что ... Я не слишком уверен, должен ли код быть в функции doGet, однако я не думаю, что егоскорее всего.

function sendingEmail(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
Logger.log(sheet.getRange(25, 14).getValue());
var employeeName = e.values[1];
var email = e.values[2];
var email2 = e.values[3];
var supervisor = e.values[4];
var employeeNo = e.values[5];
var typeofLeave = e.values[6];
var leaveShift = e.values[8];
var otherReason = e.values[7];
var reason = e.values[9];
var dateFrom = e.values[10];
var dateTo = e.values[11];
var row = e.range.getRow();
var supervisoremail = sheet.getRange(row, 14);
var status = sheet.getRange(row, 13);
var rejectReason = sheet.getRange(row, 15);

var url = 'https://script.google.com/macros/s/******exec?';

var approve = url +'approval=true'+'&reply='+ email +'&reply2='+ email2 +'&row=' + row; 
var reject = url +'approval=false'+'&reply='+ email +'&reply2='+ email2 +'&row=' + row;

var html = "<body>"+
              "<h2>Please review the leave application</h2><br />"+
                "Employee Name :"+ employeeName + "<br />"+
                "Employee Email :" + email + "<br />"+
                "Employee Email opt :" + email2 + "<br />"+
                "Supervisor Name :" + supervisor + "<br />"+
                "Employee No :" + employeeNo + "<br />"+
                "Type of Leave :" + typeofLeave + "<br />"+
                "Leave Shift :" + leaveShift + "<br />"+
                "Other Reason for Leave :" + otherReason + "<br />"+
                "Reason :" + reason + "<br />"+
                "From :" + dateFrom + "<br />"+
                "To :" + dateTo + "<br />"+
                  "<a href="+approve +">Approve</a><br />"+
                    "<a href="+ reject +">Reject</a><br />"+
                    <p> //TEXT FIELD INPUT HERE
        <input type="text" value="" name="Email" placeholder="Reject  Reason" id="rejectreason"/> 
    </p>
         "</body>";
if (supervisor == 'Geralt'){
status.setValue('PENDING');
supervisoremail.setValue('GeraltofRivia@gmail.com.my'); //set supervisor emails  into spreadsheet
MailApp.sendEmail("GeraltofRivia@gmail.com.my", "Approval Request", "What no HTML?", {htmlBody: html}) 
var y = p.getElementById('rejectreason').value; //CODE ENTERS HERE?
rejectReason = setValue(y); //SETVALUE THE STRING INTO SPREADSHEET
}
else if (supervisor == 'Ciri'){
status.setValue('PENDING');
supervisoremail.setValue('Ciri@gmail.com'); //set supervisor emails into spreadsheet
MailApp.sendEmail("Ciri@gmail.com", "Approval Request", "What no HTML?",  {htmlBody: html}); /* ciri email here*/
}

вывод по электронной почте:
Пожалуйста, просмотрите заявку на отпуск

Employee Name :Yennefer
Employee Email :
Employee Email opt :yenofvengerberg@gmail.com
Supervisor Name :
Employee No :yen T138
Type of Leave :Annual Leave
Leave Shift :Full day
Other Reason for Leave :
Reason :holiday
From :12/2/2018
To :12/3/2018
Approve
Reject
Reject reason (text field)

Так выглядит HTML-код электронной почты.я хотел, чтобы строка или значение из текстового поля были обновлены в электронной таблице после нажатия на ссылку отклонить / одобрить.

1 Ответ

0 голосов
/ 26 декабря 2018

Короткий ответ - нет.Электронные письма могут просто показывать информацию, а не получать их.Наилучшим вариантом будет размещение ссылки внутри тела письма, и когда пользователь нажимает на нее, она перенаправляет пользователя на страницу, где он может заполнить поля, которые вы запрашиваете

...