-1

MVCページに製品の新しいレコードを入力するための入力テーブルフォームを作成しようとしています。これはビューのコードです(MongoDBを使用しています)

<?php
  for ($i = 0; $i <= 1; $i++) {
  <tr>
    <td><?php echo CHtml::activeTextField($modelItem, "[$i]name"); ?></td>
    <td><?php echo CHtml::activeTextArea($modelItem, "[$i]description"); ?></td>
    <td><?php echo CHtml::activeTextField($modelItem, "[$i]price"); ?></td>
  </tr>
<?php } ?>

したがって、拡張可能な入力フォームにするために、次を使用しています。

<script type="text/javascript"> 
$(document).ready(function(){
  addNewRow();
  function addNewRow() {
    var i = $("#listItem tbody tr").size();
    var arr = {};
    $("#listItem tbody tr:last").click(function(){
      if($(this).hasClass('addedRow') == false){
        arr.i = i;
        $("#ADD_PRICE_LIST_ROW").tmpl(arr).appendTo("#listItem tbody");
        addNewRow();
      }
      $(this).addClass('addedRow')
    });
  }
});
</script>

(listItem tbodyはテーブルのIDです)では、以下の関数を完了するにはどうすればよいですか?

<script id="ADD_PRICE_LIST_ROW" type="text/x-jquery-tmpl">
  <tr>
    ????
  </tr>
</script>

悪い英語でごめんなさい=。=

4

1 に答える 1

1

これには AJAX を使用する必要があります。

$.ajax({
    type: 'POST',
    url: '/your/php.php',
    data: {
        post1: $('#element').val(),
        post2: $('#element2').text()
    },
    success: function(result) {
        alert(result);
    },
    error: function() {
        $('#errors').text('Failed to get response from PHP');
    }
});

$.post()それほど多くのオプションが必要ない場合は、同様のことを行うために使用することもできます:

$.post('/your/php.php', {
    post1: $('#element').val(),
    post2: $('#element2').text()
},
function(result) {
    alert(result);
});

これらをまたはのようなものの中に配置でき$('#button').on('click', function() { /* $.ajax() or $.post() */ });ます$('#textbox1').on('keyup', function() { /* $.ajax() or $.post() */ });

PHP 内で、次のようなことを実行して、他の POST として処理できます。

if(isset($_POST['post1'])) {
    // $result = do stuff with $_POST['post1'];
    echo $result; // The jQuery will grab this as "result" and alert it...
}
于 2012-08-16T19:49:52.357 に答える