Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击HTML表格行并打开带有预填充数据的表单_Javascript_Html_Google Apps Script - Fatal编程技术网

Javascript 单击HTML表格行并打开带有预填充数据的表单

Javascript 单击HTML表格行并打开带有预填充数据的表单,javascript,html,google-apps-script,Javascript,Html,Google Apps Script,一般来说,我不熟悉编码。我自学了基本的HTML、CSS和Javascript,尝试构建一个简单的web应用程序来帮助我的marina更高效地运行。我已经在这方面工作了至少6个小时,但找不到一个方法来实现它 我想做的是允许我的技术人员搜索HTML表,该表由Google工作表动态填充,当他们单击要处理的客户的行时,我需要它打开表单输入页面,并预先填写客户名称、船名和工作订单号。谢谢你能提供的任何帮助 每个技术人员用于输入其姓名、客户姓名、船名、工单号、人工和工时说明以及零件号和零件数量的表单页。这是

一般来说,我不熟悉编码。我自学了基本的HTML、CSS和Javascript,尝试构建一个简单的web应用程序来帮助我的marina更高效地运行。我已经在这方面工作了至少6个小时,但找不到一个方法来实现它

我想做的是允许我的技术人员搜索HTML表,该表由Google工作表动态填充,当他们单击要处理的客户的行时,我需要它打开表单输入页面,并预先填写客户名称、船名和工作订单号。谢谢你能提供的任何帮助

每个技术人员用于输入其姓名、客户姓名、船名、工单号、人工和工时说明以及零件号和零件数量的表单页。这是我希望在技术人员单击他们希望添加时间和部分的条目后,使用HTML表中的数据预加载的表单

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
   <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
   <?!= include("page-css") ?>
 
 </head>

<body>
  
    <a href = "https://script.google.com/a/obmc.com/macros/s/AKfycbxGT-s3hnCXs4gI-E0Qo5-C87M5yeDd3FhLto6txnQ/exec" id = "labor" class="waves-effect waves-light btn indigo darken-4"><i class="material-icons left">chevron_left</i>Home</a>
   
   
   <div class = "container">
    <h1>Labor Entry </h1>
    </div>

      
      <div class = "container">
      <div class="row">
        <div class="input-field col s12 m8 l8">
         <div class="text">Tech</div>
          <input type="text" id="tech" class="autocomplete">
         </div>
      </div>
     </div>

     
     <div class = "container">
      <div class="row">
        <div class="input-field col s12 m8 l8">
           <div class="text">Customer Name</div>
          <input type="text" id="customer" class="autocomplete">
        </div>
       </div> 
      </div>
      
      
      
      <div class = "container">
       <div class="row">
        <div class="input-field col s12 m8 l8">
         <div class="text">Boat Name</div>
          <input id="boat" type="text" class="validate">
        </div>
       </div>
       </div>

      <div class = "container">
      <div class="row">
       <div class="input-field col s12 m6 l6">
        <div class="text">Work Order</div>
         <input type="text" id="work order">
          
        </div>
       </div> 
      </div> 
     
     
     <div class = "container">
     <div class="row">
        <div class="input-field col s6 m6 l6">
           <div class="text">Description of Work</div>
          <textarea id="desc" class="materialize-textarea"></textarea>
        </div>  

        
        <div class="row">
        <div class="input-field col s2 m2 l2">
                <div class="text">Hours</div>
          <input id="time" type="text" class="validate">
        </div>
      </div>
      </div>
     </div>
     
     <div class = "container">
      <div class="row">
        <div class="input-field col s12 m8 l8">
           <div class="text">Part Number</div>
          <input type="text" id="part" class="autocomplete">
        </div>
 
 
 
        
        <div class="input-field col s2 m2 l2">
                <div class="text">Quantity</div>
          <input id="qty" type="text" class="validate">
        </div>
      </div>
</div>

     
          <div class = "container">
        <div class="row">
     <button id = "submit" class="btn- waves-effect waves-light btn-large indigo darken-4"><i class="material-icons left">directions_boat</i>Submit</button>
       
     <button id = "clear" class="waves-effect waves-light btn-large indigo darken-4"><i class="material-icons left">clear_all</i>Clear Form</button>
        </div> <!-- CLOSE ROW -->
          </div>  <!-- CLOSE CONTAINER -->
          
          
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
   <?!= include("page-js") ?>
             
  </body>
</html>

劳工入境
技术人员
客户名称
船名
工单
工作说明
小时
零件号
量
方向(b)提交
清晰的形式
这是一个可搜索的HTML表格,由Google工作表动态填充,我们在其中输入新的工单信息。这将是技术人员首先看到的内容,在缩小搜索范围或滚动到所选内容后,他们将单击它并加载表单页面,并预先填写客户、船只和工作订单

<!DOCTYPE html>
<html lang="en-US">
<head>
    <title>JavaScript Table Filter Search</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
    <style type="text/css">
        h3 span {
            font-size: 22px;
        }
        h3 input.search-input {
            width: 300px;
            margin-left: auto;
            float: right
        }
        .mt32 {
            margin-top: 32px;
        }
    </style>
</head>
<body class="mt32">
    <div class="container">
        <h1 align = "center">
            <span>Work Order Search</span>
            <input type="search" placeholder="Search..." class="form-control search-input" data-table="customers-list"/>
        </h1>
        <table class="table table-striped mt32 customers-list" id = "display-table" onclick="theFunction()" >
            <thead>
                <tr>
                    <th align ="center">Customer Name</th>
                    <th align ="center">Boat Name</th>
                    <th align ="center">Work Order</th>
                    <th align ="center">Description of Work</th>
                </tr>
            </thead>
            <tbody id = "table-body">
                
            </tbody>
        </table>
    </div>
    <script>
        (function(document) {
            'use strict';

            var TableFilter = (function(myArray) {
                var search_input;

                function _onInputSearch(e) {
                    search_input = e.target;
                    var tables = document.getElementsByClassName(search_input.getAttribute('data-table'));
                    myArray.forEach.call(tables, function(table) {
                        myArray.forEach.call(table.tBodies, function(tbody) {
                            myArray.forEach.call(tbody.rows, function(row) {
                                var text_content = row.textContent.toLowerCase();
                                var search_val = search_input.value.toLowerCase();
                                row.style.display = text_content.indexOf(search_val) > -1 ? '' : 'none';
                            });
                        });
                    });
                }

                return {
                    init: function() {
                        var inputs = document.getElementsByClassName('search-input');
                        myArray.forEach.call(inputs, function(input) {
                            input.oninput = _onInputSearch;
                        });
                    }
                };
            })(Array.prototype);

            document.addEventListener('readystatechange', function() {
                if (document.readyState === 'complete') {
                    TableFilter.init();
                }
            });

        })(document)
        
        var data = []
        
        document.addEventListener("DOMContentLoaded",function(){
        
        google.script.run.withSuccessHandler(generateTable).getTableData()
        
             
              
        })
        
        
 function generateTable(dataArray){
 
 dataArray.forEach(function(r){
    var tbody = document.getElementById("table-body")
        var row = document.createElement("tr")
        var col1 = document.createElement("td")
        col1.textContent = r[0]
        var col2 = document.createElement("td")
        col2.textContent = r[1]
        var col3 = document.createElement("td")
        col3.textContent = r[2]
        var col4 = document.createElement("td")
        col4.textContent = r[3]
        row.appendChild(col1)
        row.appendChild(col2)
        row.appendChild(col3)
        row.appendChild(col4)
        tbody.appendChild(row)
        
        })
 
 
 
 }


                
    </script>
</body>
</html>

JavaScript表过滤器搜索
h3跨度{
字体大小:22px;
}
h3输入。搜索输入{
宽度:300px;
左边距:自动;
浮球:对
}
.mt32{
边缘顶部:32px;
}
工单搜索
客户名称
船名
工单
工作说明
(职能(文件){
"严格使用",;
var TableFilter=(函数(myArray){
var搜索输入;
函数_onInputSearch(e){
搜索输入=e.目标;
var tables=document.getElementsByClassName(search_input.getAttribute('data-table');
调用(表,函数(表){
myArray.forEach.call(table.tBodies,函数(tbody){
myArray.forEach.call(tbody.rows,函数(row){
var text_content=row.textContent.toLowerCase();
var search_val=search_input.value.toLowerCase();
row.style.display=text\u content.indexOf(search\u val)>-1?“”:“无”;
});
});
});
}
返回{
init:function(){
var inputs=document.getElementsByClassName('search-input');
myArray.forEach.call(输入,函数(输入){
input.oninput=\u onInputSearch;
});
}
};
})(阵列.原型);
document.addEventListener('readystatechange',function(){
如果(document.readyState==='complete'){
TableFilter.init();
}
});
})(文件)
var数据=[]
document.addEventListener(“DOMContentLoaded”,function()){
google.script.run.withSuccessHandler(generateTable.getTableData())
})
函数生成表(dataArray){
dataArray.forEach(函数(r){
var tbody=document.getElementById(“表体”)
var行=document.createElement(“tr”)
var col1=document.createElement(“td”)
col1.textContent=r[0]
var col2=document.createElement(“td”)
col2.textContent=r[1]
var col3=document.createElement(“td”)
col3.textContent=r[2]
var col4=document.createElement(“td”)
col4.textContent=r[3]
行。追加子项(col1)
行。追加子项(col2)
行。追加子项(col3)
行。追加子项(col4)
tbody.appendChild(第行)
})
}

谢谢。我也不太擅长添加问题。你的帖子现在很清楚了,但你面临的问题是什么?是否有一个特定的东西不起作用或根本不起作用?你的问题相当广泛。我不想调试你的整个脚本。选择一个你遇到困难的具体问题,并针对这一问题提出一个问题。构建复杂解决方案的最简单方法是一次处理一个部分。当用户单击HTML表行时,我希望获取客户名称、船名和工单值,并在第一次将它们插入表单中