Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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
Javascript Yii单击提交按钮将日期选择器值传递给控制器_Javascript_Php_Jquery_Yii_Form Submit - Fatal编程技术网

Javascript Yii单击提交按钮将日期选择器值传递给控制器

Javascript Yii单击提交按钮将日期选择器值传递给控制器,javascript,php,jquery,yii,form-submit,Javascript,Php,Jquery,Yii,Form Submit,我有一个sql查询,希望使用DatePicker向其传递日期。我做了参数绑定,如果我直接给绑定的变量赋值,它就会工作。我不知道单击提交按钮后如何准确传递值。 在我看来,我使用TbActiveForm和datepicker小部件。因此,我的视图文件link.php如下所示: <?php $form = $this->beginWidget( 'bootstrap.widgets.TbActiveForm',array( 'id' => 'inlineForm',

我有一个sql查询,希望使用DatePicker向其传递日期。我做了参数绑定,如果我直接给绑定的变量赋值,它就会工作。我不知道单击提交按钮后如何准确传递值。 在我看来,我使用TbActiveForm和datepicker小部件。因此,我的视图文件link.php如下所示:

<?php
$form = $this->beginWidget(
    'bootstrap.widgets.TbActiveForm',array(
    'id' => 'inlineForm',
    'type' => 'inline',
    'htmlOptions' => array('class' => 'well'),
));
?>
Start Date
<?php $this->widget('bootstrap.widgets.TbDatePicker',array(
                 'name' => 'from_date',
                 'options' => array('format' => 'yyyy-mm-dd')
)); 
?>
End Date           
<?php $this->widget('bootstrap.widgets.TbDatePicker',array(
                'name' => 'to_date',
                'options' => array('format' => 'yyyy-mm-dd')
  ));

?>
&nbsp;
<!-- Submit Button -->   
<?php $this->widget('bootstrap.widgets.TbButton',array(
                'buttonType' => 'Submit',
                'label' => 'Submit',
                 'type' => 'primary',
                 'url' => 'Link'  
 )); 

  $this->endWidget();
  public function actionLink()
      {

    // $from = $_GET['from_date'];
    // $to = $_POST['to_date'];
$from=!empty($_POST['from_date'])?$_POST['from_date']:'2014-01-01';
    $to=!empty($_POST['to_date'])?$_POST['to_date']:'2014-02-01';

 $sql = "SELECT [Ordernumber]
  ,[Order_Date]

  FROM [Orders]
  WHERE CAST(Order_Date As Date) BETWEEN :from_date AND :to_date
  ORDER BY Order_Date ";
 $sql2 = "SELECT COUNT(*)
        FROM [Orders]
        WHERE CAST(Order_Date As Date) BETWEEN :from_date AND :to_date";
         $connection=Yii::app()->db;
         $command=$connection->createCommand($sql2); 

       //   $command = $connection->createCommand('SELECT COUNT(*) FROM (' . $sql . ') as count_alias');
          $command->bindParam(':from_date',$from,PDO::PARAM_STR);
          $command->bindParam(':to_date',$to,PDO::PARAM_STR);
          $dataProvider = new CSqlDataProvider($sql, array('keyField' => 'Order_Date',

            'params' => array(
                ':from_date' => $from,
                 ':to_date' => $to),
            'totalItemCount' => $command->queryScalar(),

            'pagination' => array(
                'pageSize' => 20)));


    // renders the view file 'protected/views/site/index.php'
    // using the default layout 'protected/views/layouts/main.php'
      $this->render('link',  array('dataProvider' => $dataProvider));
}
因此,如果我只使用:

 $from = $_POST['from_date'];
 $to = $_POST['to_date'];
我得到了一个错误:未定义的索引从_日期开始

我想知道我必须为Submit按钮编写什么代码,以便它将值从DatePicker传递回控制器。以及控制器读取值的方式

现在,如果我单击Submit按钮,它将重新加载页面,但会根据

    $from=!empty($_POST['from_date'])?$_POST['from_date']:'2014-01-01';
    $to=!empty($_POST['to_date'])?$_POST['to_date']:'2014-02-01'; 
从_日期开始的未定义索引

因为你试图从get而不是post中检索它

 $from = $_GET['from_date'];
 $to = $_POST['to_date'];
应该是

 $from = $_POST['from_date'];
 $to = $_POST['to_date'];

这是一个语法错误。我写道:

'buttonType' => 'Submit',
而不是:

'buttonType' => 'submit',

谢谢大家的帮助,guyz。

POST通常都是用表单ID填充的,所以它应该是$\u POST['inlineForm']['from\u date']。如果我使用$from=$\u POST['inlineForm']['from\u date'];我得到错误:未定义的索引inlineform请执行var\u转储($\u POST);模具();看看你得到了什么。我在做var\u dump($\u POST)时得到这个;数组(0){}这意味着您发布的数组为空。您确定表单方法是POST吗?如果你做一个var_转储($_get),你会得到什么;模具();我只是在尝试不同的方式…即使我使用$from=$\u POST['from\u date'];我从_date中获得了错误未定义索引。如果您事先打印($_POST)并注释掉抛出错误的代码,它看起来如何