0

例: ユーザーが名前を入力または送信します。これらの名前は、backbone.localStorage.js を使用してローカルに保存され、backbone.js を使用して #sidebar に表示されます。そして、php を使用すると、最後に追加された名前が #content に表示されるはずです。そのため、ユーザーがこれら 2 つの名前を次々に入力すると、foo と bar になります。次に #sidebar (ここではバックボーンが機能します)

foo
bar

が表示され、#content (ここでは php が機能します)barが表示されます (最近追加されたため)。3 番目の名前をboo入力すると、#sidebar に表示されます

foo
bar 
boo

そしてイン #contentbooが表示されます。

これを実現するために、backbone.js、 backbone.localStorage.js、jquery を使用しています。app.js には、データを処理および表示するためのモデル、コレクション、およびビューが含まれています。

js 部分は正常に動作しますが、php は動作しません。

index.php

<div id="myapp"> 
  <div class="enter-data"> 
   <form method="POST" action="index.php">     
    <input type="text" name="name" id="new-data" />       
    <input type="submit" value="Subscribe" name="submit" id="submit"/>
   </form>
  </div>
  <div class="sidebar-data">
    //here names are displayed which are stored locally using backbone
  </div>
</div>

<div class="content">
    <?php
       function main() {
        if(isset($_POST['name']) && !empty($_POST['name'])) {
           $data =$_POST['name'];   
           echo $data;  
          }
         }
       main();
      ?>
</div>

app.js のイベント (ビュー)

    events: {
       "click #submit": "submitClick",
    },

    submitClick: function(e){    
         if (!this.input.val()) return;
         Todos.create({title: this.input.val()});
         this.input.val('');
        }

上記のコードでは、データは js に渡されますが、php には渡されません。 つまり、上記の例のように #sidebar に名前が表示されますが、php 部分が機能していません。#内容は空白のままです。私も試してみました

  events: {
       "submit form": "submitForm",
    },

    submitForm: function(e){    
          if (!this.input.val()) return;
         Todos.create({title: this.input.val()});
         this.input.val('');
        }

しかし、同じことが起こります。

では、データを php にも渡し、最近追加された名前を #content に表示するにはどうすればよいですか

4

1 に答える 1