2016-04-02 14 views
1

私はHTMLとGoogle Apps Scriptで地理クイズを作っています。ウェブページからの回答入力が必要です。リンクを取得して要素をXMLに解析しようとしましたが、何らかのメタタグを閉じる必要がありました。私が知る限り、私はメタタグを入れなかった。ここではスクリプトは次のとおりです。Google Apps Scriptのウェブページから要素を取得するにはどうすればよいですか?

function doGet() { 
    var URL = UrlFetchApp.fetch('https://script.google.com/macros/s/AKfycbzxrT9Tf_W080kpYq26exEC5O3NrI-EUOZssckOVow-9_9yKkBW/exec').getContentText(); 
    var Parse = XmlService.parse(URL); 
    var GetRoot = Parse.getRootElement(); 
    var ParseBack = HtmlService.parse(GetRoot); 
    var ansInDiv = getElementById(URL, 'a1', 'a2', 'a3'); 
    return(ansInDiv); 
} 

// send 
function send() { 
    var EmailAddress = "#########@gmail.com"; 
    MailApp.sendEmail(EmailAddress, "Geo Quiz Answers", doGet()); 
} 

そして、ここではHTMLです:

<!DOCTYPE html> 
<html> 
    <title> 
     Geography Quiz 
    </title> 
    <base target="_top"> 
    <font face="Verdana" size="20px"> 
    Welcome to the Geography Quiz. 
    </font> 
    <font face="Verdana"> 
    Begin whenever you are ready. 
    </font> 
    <script> 
    function RunSend() { 
     google.script.run.send(); 
    } 
    </script> 
    <div id="answers"> 
    <br/> 
    <br/> 
    <p> 
     q1 
    </p> 
    <input type="text" id="a1"> 
    <p> 
     q2 
    </p> 
    <input type="text" id="a2"> 
    <p> 
     q3 
    </p> 
    <input type="text" id="a3"> 
    <br/> 
    <br/> 
    <button onclick="RunSend()" value="Submit"> 
     Submit 
    </button> 
    </div> 
</html> 

にはどうすればスクリプトが要素を取得し、電子メールでそれを送信するのですか?

ありがとうございます。

答えて

0

使用するアプローチは、私には少し奇妙に思える、私は単純に、このようにそれを行うだろう:

function doGet() { 
    return HtmlService.createTemplateFromFile('index').evaluate().setTitle('quizz').setSandboxMode(HtmlService.SandboxMode.IFRAME); 
} 

function send(result) { 
    var EmailAddress = "[email protected]"; 
    MailApp.sendEmail(EmailAddress, "Geo Quiz Answers", result); 
} 

とhtmlで:

<!DOCTYPE html> 
<html> 
    <title> 
     Geography Quiz 
    </title> 
    <base target="_top"> 
    <font face="Verdana" size="20px"> 
    Welcome to the Geography Quiz. 
    </font> 
    <font face="Verdana"> 
    Begin whenever you are ready. 
    </font> 
    <script> 
    function RunSend() { 
     var a1 = document.getElementById("a1").value 
     var a2 = document.getElementById("a2").value 
     var a3 = document.getElementById("a3").value 
     var result=a1+"-"+a2+"-"+a3 
     google.script.run.send(result); 
    } 

    </script> 
    <div id="answers"> 
    <br/> 
    <br/> 
    <p> 
     q1 
    </p> 
    <input type="text" id="a1"> 
    <p> 
     q2 
    </p> 
    <input type="text" id="a2"> 
    <p> 
     q3 
    </p> 
    <input type="text" id="a3"> 
    <br/> 
    <br/> 
    <button onclick="RunSend()" value="Submit"> 
     Submit 
    </button> 
    </div> 
</html> 

Demo here

+0

おかげで、それは言います"getElementByIdが定義されていません"。私は、<!DOCTYPE html>宣言に何か問題があると思います。 – YonaTheYak

+0

メモをしようとしましたか?デモや実装で発生する問題ですか?私はそのような基本的なセットアップに誤りがあるかもしれないとは思わない。 –

+0

いいえ、私はそれを修正しました。私はちょうどアプリケーションの新しいバージョンを作らなければなりませんでした。 – YonaTheYak

関連する問題