Html Iframe沙盒模式脚本不工作

Html Iframe沙盒模式脚本不工作,html,iframe,google-apps-script,Html,Iframe,Google Apps Script,我试图从native模式切换到iframe,但当我单击按钮时,HTML文件的部分显示为空白页。我无法在开发人员控制台上看到错误 这是index.html: 106海港 费夏德安格鲁: 费查·德萨利达: 坎蒂达德·德·韦斯佩德斯: (Navegadores soportados:Chrome、Android、Safari) $(document).ready(function(){//实现这一点最安全的方法是使用jQuery ready方法,该方法将在页面开始执行JavaScript之前

我试图从
native
模式切换到
iframe
,但当我单击按钮时,HTML文件的
部分显示为空白页。我无法在开发人员控制台上看到错误

这是
index.html


106海港
费夏德安格鲁:


费查·德萨利达:

坎蒂达德·德·韦斯佩德斯: (Navegadores soportados:Chrome、Android、Safari) $(document).ready(function(){//实现这一点最安全的方法是使用jQuery ready方法,该方法将在页面开始执行JavaScript之前监视页面是否已完全加载。 $(“#email_subscribe”).submit(函数(){//function submit incorporada en la biblioteca jquery //leyenda e imagen de espera antes del la Function handler al后端: $(“#表单内容”).append('PROCESANDO…'+'

'/*esta imagen debe estar en https tambien*/); google.script.run.withSuccessHandler(函数(ret){//ejecuto函数que necesta un返回值 $(“谢谢你”).show(“慢”)//aparece con estilo //无DeParece mas:$(“#email_subscribe”).slideUp();//DeParece deslizandoce $(“#表单内容”).html('Processing….'); $(“#表单内容”).html(ret); //$(“#表单内容”).load(ret) 控制台日志(ret); }).CalcSp106(this)//real Calc109(this)prueba showhtmltext();//这是另一个表单元素//函数que esta en el服务器端(code.gs) }); });

使用
SandboxMode.IFRAME
,您应该使用单击处理程序通过提交按钮调用服务器端处理程序,而不是
submit
操作

与此相反:

<input type="submit" value="enviar">
       ^^^^^^^^^^^^^
Index.html 现在按钮上绑定了一个
click()
处理程序,而不是表单。因此,按钮有自己的ID,
button submit
。我已经删除了与问题无关的额外代码和注释

因为我使用了这个示例,所以我还更改了模板HTML的行,以加载默认的
“样式表”

<!DOCTYPE html>
<html>

<!-- PRUEBA CON EL IFRAME SANDBOX MODE -->

<body>
  <div>
    <h3 style=color:blue>Seaport 106</h3>
    <form id="email_subscribe">
      Fecha de Ingreso:
      <input type="date" name="dayIn" min="2015-12-01" max="2016-03-25"/>
      <br>
      <br> Fecha de Salida:
      <input type="date" name="dayOut" min="2015-12-08" max="2016-04-01"/>
      <br>
      <br> Cantidad de Huespedes:
      <input type="number" name="guests" min="1" max="4"/>
      <input id="button-submit" type="button" value="enviar"/>
    </form>
    <span id="thank_you" hidden="true"></span> (Navegadores soportados: Chrome, Android, Safari)
  </div>
  <div id="form-content">
  </div>
  <?!= HtmlService.createHtmlOutputFromFile('Stylesheet').getContent(); ?>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
    </script>

    <script>
      $(document).ready(function() {
        $("#button-submit").click(function() { 
          $("#form-content").append(' PROCESANDO...' + '<br></br>' );

          google.script.run
            .withSuccessHandler(function(ret) {
              $( "#form-content" ).html(ret); 
              console.log(ret);
            })
            .CalcSp106(this.parentNode)
        });
      });
    </script>
</body>

</html>

106海港
费夏德安格鲁:


费查·德萨利达:

坎蒂达德·德·韦斯佩德斯: (Navegadores soportados:Chrome、Android、Safari) $(文档).ready(函数(){ $(“#按钮提交”)。单击(函数(){ $(“#表单内容”).append('PROCESANDO…'+'

'); google.script.run .withSuccessHandler(函数(ret){ $(“#表单内容”).html(ret); 控制台日志(ret); }) .CalcSp106(此.parentNode) }); });
谢谢你,莫格斯达,我马上就去试试。
function doGet(e) {
  var template = HtmlService.createTemplateFromFile('Index');

  // Build and return HTML in IFRAME sandbox mode.
  return template.evaluate()
      .setTitle('Web App Window Title')
      .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

function CalcSp106( form ) {
  // Echo back the received object
  return( JSON.stringify(form) );
}
<!DOCTYPE html>
<html>

<!-- PRUEBA CON EL IFRAME SANDBOX MODE -->

<body>
  <div>
    <h3 style=color:blue>Seaport 106</h3>
    <form id="email_subscribe">
      Fecha de Ingreso:
      <input type="date" name="dayIn" min="2015-12-01" max="2016-03-25"/>
      <br>
      <br> Fecha de Salida:
      <input type="date" name="dayOut" min="2015-12-08" max="2016-04-01"/>
      <br>
      <br> Cantidad de Huespedes:
      <input type="number" name="guests" min="1" max="4"/>
      <input id="button-submit" type="button" value="enviar"/>
    </form>
    <span id="thank_you" hidden="true"></span> (Navegadores soportados: Chrome, Android, Safari)
  </div>
  <div id="form-content">
  </div>
  <?!= HtmlService.createHtmlOutputFromFile('Stylesheet').getContent(); ?>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
    </script>

    <script>
      $(document).ready(function() {
        $("#button-submit").click(function() { 
          $("#form-content").append(' PROCESANDO...' + '<br></br>' );

          google.script.run
            .withSuccessHandler(function(ret) {
              $( "#form-content" ).html(ret); 
              console.log(ret);
            })
            .CalcSp106(this.parentNode)
        });
      });
    </script>
</body>

</html>