Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Php yii:如何获取post数据?_Php_Jquery_Ajax_Yii - Fatal编程技术网

Php yii:如何获取post数据?

Php yii:如何获取post数据?,php,jquery,ajax,yii,Php,Jquery,Ajax,Yii,状态:通过ajax创建了一个包含项目列表的表单。将新项添加到表单中效果良好。计算很有效。但无法在控制器(创建)处获取添加的项 问:如何从view的帖子中获取控制器上的数据 这是我的看法 <div class="form"> <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'acc-recei-form', 'enableAjaxValidation'=>false, ));

状态:通过ajax创建了一个包含项目列表的表单。将新项添加到表单中效果良好。计算很有效。但无法在控制器(创建)处获取添加的项

问:如何从view的帖子中获取控制器上的数据

这是我的看法

<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'acc-recei-form',
    'enableAjaxValidation'=>false,
)); ?>

    <p class="note">Fields with <span class="required">*</span> are required.</p>

    <?php echo $form->errorSummary($model); ?>
    <?php
    Yii::app()->clientScript->registerScript('add-item', "
        $('#add-item').click(function(){

            //console.log(item_template);
            $('#template .template_item').clone().appendTo('#item_list');
            $('#item_list .template_item').fadeIn();


            return false;
        });

        $('.item-name').live('change', function(){
            var itemID = $(this).val(),
                vNode  = $(this);
            $.ajax({
                url: 'getitem/'+itemID,
                dataType: 'json',
                success: function(data){
                    var target = $(vNode).parents('tr');
                    //console.log('target tr: ' + target);
                    $(target).find('.price').text(data.item_price);
                }
            });

        });

        $('.qty').live('keyup', function(){
          var vNode  = $(this);
          var vQty = $(this).val();
          var target = $(vNode).parents('tr');
          var vPrice = $(target).find('.price').text();

          //console.log($(target).find('.price').text());

          var vrowtotal = vQty * vPrice;
          $(target).find('.row_total').text('$ ' + vrowtotal);
           findTotals();
        });

        function findTotals() {

            var subTotal = '';
            $('#item_list tr.template_item').each(function() {

                //console.log($('.row_total').text());              
                var row_total = 0,
                        price = Number($('.price',this).text());
                        qty   = Number($('.qty',this).val());

                    row_total = price*qty; 
                    subTotal = Number(row_total) + Number(subTotal);
            });
            subTotal = Number(subTotal);
            $('#grandtotal').text('$ '+ subTotal);

        }
");


    ?>
<table id="item_list" name="item_list[]">
<tr class="item_list">
    <td>name</td>
    <td>price</td>
    <td>qty</td>
    <td>row_total</td>
<tr>
</table>
<label id="grandtotal"></label>
    <p align="right">
        <?php echo CHtml::link('Add Item','#',array('class'=>'btn btn-info', 'id'=>'add-item')); ?>
    </p>
    <div class="row">
        <?php echo $form->labelEx($model,'acc_category_id'); ?>
        <?php
            echo $form->dropDownList($model,'acc_category_id', $acccategorieslist, array(
            'prompt'=>'Please select a category',
            'options'=>array("$model->acc_category_id"=>array('selected'=>'selected')),
            )
        ); 
        ?>
        <?php echo $form->error($model,'acc_category_id'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'customer_id'); ?>
        <?php echo $form->textField($model,'customer_id',array('size'=>11,'maxlength'=>11)); ?>
        <?php echo $form->error($model,'customer_id'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'job_id'); ?>
        <?php echo $form->textField($model,'job_id',array('size'=>11,'maxlength'=>11)); ?>
        <?php echo $form->error($model,'job_id'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'accmain_id'); ?>
        <?php echo $form->textField($model,'accmain_id',array('size'=>11,'maxlength'=>11)); ?>
        <?php echo $form->error($model,'accmain_id'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'date'); ?>
        <div class="controls">
        <?php 
            $this->widget('zii.widgets.jui.CJuiDatePicker', array(
                'name'=>'AccRecei[date]',       
                'model'=>$model,
                'value' => $model->date,    
                'options'=>array(
                    'showAnim'=>'fold',
                    'dateFormat' => 'dd-mm-yy',                   
                ),
                'htmlOptions'=>array(
                    'style'=>'height:20px;'
                ),
            ));
            ?>

        <p> Expire Date should not be Current Date.</p>
        </div>
        <?php echo $form->error($model,'date'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'status'); ?>
        <?php echo $form->dropDownList($model,'status', $arr_status, array('prompt'=>'Please select a status')); ?>
        <?php echo $form->error($model,'status'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'description'); ?>
        <?php echo $form->textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?>
        <?php echo $form->error($model,'description'); ?>
    </div>  

    <div class="row buttons">
        <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
    </div>

<?php $this->endWidget(); ?>

</div><!-- form -->

<table id="template" style="display:none;" >
<tr class="template_item">
    <td><?php
            echo $form->dropDownList(
                $model,
                'item_name', 
                $accitemslist, 
                array(
                    'prompt'=>'Please select a category',
                    'options'=>array("$model->acc_category_id"=>array('selected'=>'selected')),
                    'class'=>'item-name',
                    )                                    
                ); 
        ?></td>
    <td><label id="price" class="price"></label></td>
    <td><input type="text" name="item_qty[]" class="qty" /></td>
    <td><label id="row_total" class="row_total"></label></td>
<tr>
</table>
在望

<table id="template" style="display:none;" >
<tr class="template_item">
    <td><?php
            echo $form->dropDownList(
                $model,
                'item_name[]', 
                $accitemslist, 
                array(
                    'prompt'=>'Please select a category',
                    'options'=>array("$model->acc_category_id"=>array('selected'=>'selected')),
                    'class'=>'item-name',
                    )                                    
                ); 
        ?></td>
    <td><input type="text" name="item_price[]" class="item-price" /></td>
    <td><input type="text" name="item_qty[]" class="item-qty" /></td>
    <td><label id="row_total" class="row_total"></label></td>
<tr>
</table>

at控制器

for($i=0; $i < count($_POST['AccRecei']['item_name']); $i++)
            {
                echo    $_POST['AccRecei']['item_name'][$i] . " - " . $_POST['item_qty'][$i] . " - " . $_POST['item_price'][$i] . "<br />";
            }
for($i=0;$i”;
}
在视图中

<table id="template" style="display:none;" >
<tr class="template_item">
    <td><?php
            echo $form->dropDownList(
                $model,
                'item_name[]', 
                $accitemslist, 
                array(
                    'prompt'=>'Please select a category',
                    'options'=>array("$model->acc_category_id"=>array('selected'=>'selected')),
                    'class'=>'item-name',
                    )                                    
                ); 
        ?></td>
    <td><input type="text" name="item_price[]" class="item-price" /></td>
    <td><input type="text" name="item_qty[]" class="item-qty" /></td>
    <td><label id="row_total" class="row_total"></label></td>
<tr>
</table>

at控制器

for($i=0; $i < count($_POST['AccRecei']['item_name']); $i++)
            {
                echo    $_POST['AccRecei']['item_name'][$i] . " - " . $_POST['item_qty'][$i] . " - " . $_POST['item_price'][$i] . "<br />";
            }
for($i=0;$i”;
}

通过
$\u POST['.''.['.'.'.'.'.'.'.'.]]获取表单数据时,我有点紧张。
它是由Yii框架转义的,还是我必须自己做的?$id=Yii::app()->getRequest()->getPost($id);通过
$\u POST['…']['…']
获取表单数据时我有点紧张,它是由Yii框架转义的,还是我必须自己做的?$id=Yii::app()->getRequest()->getPost($id);