簡體   English   中英

對 js if 語句使用 ejs 輸入

[英]Using ejs input for js if statement

我有一個需要為 class 做的代碼問題。 我有一個有用戶的數據庫,另一個表有用戶可以訪問的標題。 我正在嘗試創建一個頁面,他們可以在其中編輯用戶,當他們單擊按鈕時,表單會自動填充 id、名字和姓氏。

現在我正在嘗試顯示用戶選擇的訪問權限目前可以訪問。 而我認為只是一個簡單的 if 語句已經變成了一個令人頭疼的事情,似乎我無法訪問我想要插入的 html 代碼中的 id 變量,當我嘗試將 if 語句放在外面時,它說錯誤使用 http 標頭,就像它發送太多渲染一樣。 我怎樣才能做到這一點?

所以這里的代碼有效,但它加載了所有用戶的標簽,但我想根據 id 過濾結果。

<tbody>
 <% all_users_to_modify.forEach(function(row){ %>
  <tr>
   <td>
    <button class="btn btn-primary m-b-0"
     onClick="fillForm('<%= row.id %>','<%= row.f_name %>','<%= row.l_name %>');";
     onclick="moneyCalc('<%= row.id %>')" >
     <%= row.id %>
    </button>
   </td>
   <td><%= row.f_name %></td>
   <td><%= row.l_name %></td>
   <td><%= row.email %></td>
   <td><%= row.phone_number %></td>
  </tr>
 <% }); %>
</tbody>

<table class="table table-striped table-bordered nowrap"> 
 <thead>
  <tr>
   <th>Acceso</th>
  </tr>
 </thead>
 <tbody id="lastResult">

 </tbody>
</table>

function moneyCalc(id) {
    'use strict';
    var id = document.getElementById('id').value;

    if (id) {
        var html_to_insert = `
      <% list_of_all_users_tabs.forEach(function(row1){ %>
       <tr>
        <td><%= row1.tab_name %> </td>
       </tr>
      <% }); %>                                
        `;
     lastResult.innerHTML += html_to_insert;
    }
  }

現在這就是我想做的,在 list_of_all_users_tabs 的每一行中,它都有一個列是 user_id,另一列是 tab_name。 所以我有兩個想法,但似乎都沒有。

第一個想法是放置一個while循環來比較數據庫中的user_id和輸入id但是我得到:錯誤[ERR_HTTP_HEADERS_SENT]:

function moneyCalc(id) {
    'use strict';
    var id = document.getElementById('id').value;
    if (id) {
      while(list_of_all_users_tabs.user_id == id) {
        var html_to_insert = `
        <% list_of_all_users_tabs.forEach(function(row1){ %>
          <tr>
            <td><%= row1.tab_name %> </td>
          </tr>
        <% }); %>                                
        `;
      lastResult.innerHTML += html_to_insert;
      }
    }
  }

第二個想法在 html 代碼中有一個 if 語句,但是它說 id not defined:

function moneyCalc(id) {
    'use strict';
    var id = document.getElementById('id').value;

    if (id) {
        var html_to_insert = `
      <% list_of_all_users_tabs.forEach(function(row1){ %>
        <% if(row1.id == id) { %>
            <tr>
              <td><%= row1.tab_name %> </td>
            </tr>
        <% } %>
      <% }); %>                                
        `;
      lastResult.innerHTML += html_to_insert;
      }
  }

將您的 javascript 代碼包裝到<script>標記中。

<script>
//Your code goes here
</script>

您需要在路由文件中將 header 狀態設置為 200。

res.json({
            success: 'updated',
            status: 200
        })

並且只在<script> </script>標簽內編寫你的 JS 代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM