2

次の事前入力された入力テーブルで変更された値を検出する方法を見つけようとしています。MongoDB からデータを取得し、Express-Handlebars と nodejs を使用してデータを HTML に入力します。

<form action="/someaction" method="post">
    <table class="responsive-table-input-matrix">
     <thead>
      <tr>
         <th>name</th>
         <th>some setting</th>
         <th>some setting</th>
         <th>some setting</th>
         <th>some setting</th>
      </tr>
    </thead>
     {{# each values }}
        <tbody>
            <tr>
                <td> {{ this.name}} </td>
                <td><input type="string" style="position: relative;" name="some setting" value={{this.some setting}} autofocus></td>
                <td><input type="string" style="position: relative;" name="some setting" value={{ this.some setting}}></td>
                <td><input type="text" style="position: relative;" value="some setting" value={{ this.some setting}}></td>
                <td><input type="text" style="position: relative;" value="some setting" value={{ this.some setting}}></td>
                <input type="hidden" name="someid" value={{ this.some id}}>
            </tr>
        </tbody>
    {{/each}}
   </table>
          <button type="submit" class="btn btn-success">Submit</button>
</form>

[送信] ボタンをクリックすると、サーバーはすべての構成を含むオブジェクトを受け取ります。次に、MongoDB に書き戻したいと思います。しかし、変更されていない値を書き戻したくありません。オブジェクトを反復処理できますが、行は基本的に無制限であるため、サーバーのパフォーマンスの問題につながる可能性があります。

その特定の行で値が変更されたかどうかを検出し、サーバーが受信したオブジェクトで何らかの形でマークする方法があるかどうかを知りたかったのです。これにより、オブジェクト全体を 1 回反復するだけで、変更された構成のみを書き込むことができます。

HTML や JS には、それを実行できる onChanged のようなものがあることがわかりました。しかし、私はそれが直接の変更に使用されているのを見ただけで、ボタンが押されたときにのみ変更を適用したいのです。

できればJavascriptは避けたい!

自分のやりたいことを何らかの形で表現できればと思っています。前もって感謝します!

4

1 に答える 1