【问题标题】:Redirect page after checking password检查密码后重定向页面
【发布时间】:2020-04-13 22:46:00
【问题描述】:

如果 login.html 中的用户密码正确,我会在我的 google 应用程序脚本的 code.gs 中使用 userClicked() 来保存一些数据。 在第 18 行保存数据后,如何将用户重定向到 page.html? 我只想在密码正确的情况下重定向。所以我不能在登录页面上使用simple。

Code.gs file login.html

code.gs

function doGet(e) {
  if (!e.parameters.v){
    return HtmlService.createTemplateFromFile("login").evaluate();
  }
  else {
    return HtmlService.createTemplateFromFile(e.parameters['v']).evaluate();
  }  
}

function userClicked(userInfo){
  if (userInfo.userPassword && userInfo.userPassword == userInfo.dbPassword){

    /* save page data in a google spreadsheet */
    var ss = SpreadsheetApp.openById("1OU6y0Iid5r2xGcfxZpUqGzZjZo8Gz7rALkYcajCslN8");      // calls "DB_" spreadsheet 
    var ws = ss.getSheetByName("Sheet1");    
    var lastRow = ws.getRange("A1").getDataRegion().getLastRow();  // get last row of column A
    var lastRow1 = lastRow + 1;    
    ws.getRange("A"+ lastRow1 +":D"+ lastRow1).setValues([[new Date(), userInfo.userName, userInfo.userPassword, userInfo.dbPassword ]]);

  }
}

function include(filename){
  return HtmlService.createHtmlOutputFromFile(filename).getContent();
}

function lookup(pass){
  var ss = SpreadsheetApp.openById("1gBo8UrCpqtQ5Rf67HCriEDRhJeQuhvPZ1vebeTHndt0");      // calls "Therapists" spreadsheet 
  var ws = ss.getSheetByName("Therapists");
  var data = ws.getRange(1, 4, ws.getLastRow(), 2).getValues();
  var therapistsList =  data.map(function(r){ return r[0];});
  var passwordsList =  data.map(function(r){ return r[1];});
  var position = therapistsList.indexOf(pass);  
  if (position > -1){
    return passwordsList[position];
  }
  else {
    return 'Not Found!';
  }
}

Login.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <!--Let browser know website is optimized for mobile-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <!--Import Google Icon Font-->
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <!-- Compiled and minified CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">

    <?!= include("css"); ?>
    </head>

    <body>

    <div class="container">

      <p>Login</p>

      <div class="row">
        <div class="input-field col s3">
          <input id="username" type="text" class="validate">
          <label for="username">Username</label>
        </div>
        <div class="input-field col s3">
          <input disabled id="dbPass" type="text" class="validate">
          <label for="dbPass">Database Pass</label>
        </div>

      </div><!-- row -->
      <div class="row">
        <div class="input-field col s3">
          <input id="userPass" type="text" class="validate">
          <label for="userPass">Password</label>
        </div>
      </div><!-- row -->

       <div class="row">
         <button id="btn" class="waves-effect waves-light btn-small blue accent-4"><i class="material-icons left">play_arrow</i>submit</button>
       </div>

    </div> <!-- Container -->

  <!-- Compiled and minified JavaScript -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
  <?!= include("js_"); ?>
  </body>
</html>

【问题讨论】:

  • 您的js_ 丢失。
  • @Lakurwan 的回答是否解决了您的问题。如果是这样,你能接受吗?

标签: javascript redirect button google-apps-script hyperlink


【解决方案1】:

在您的所有输入字段和其他从 user.use 中获取值的元素中添加标签和包围,并使用您的函数名称返回属性。返回属性确实是;如果你的函数返回true你可以直接返回false,你不能重定向

例如:

 <form onsubmit="return productsvalidationform();" method="POST" action="AddProductServlet">
         <div class="form-group">                                                          
              <label>Product Name</label><br> <input type="text" required class="form-control" name="ProductName" placeholder="productname" id="productname">

         </div>                     

    </form>

productsvalidationform();是函数,该函数返回true或false。如果为true我们可以重定向到AddProductServlet。在form标签中,包含描述你想去哪里的action属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多