从文本框中获取数据并传递给yii2中的Controller

时间:2017-01-24 14:03:36

标签: yii2

这是与Pass data from a form to a controller in yii2相同的问题。 我想从3fields中的用户获取数据并将其传递给控制器​​操作。 我试图通过javascript执行此操作,但似乎没有调用javascript函数。

点击按钮后没有任何反应。控制台中也没有错误。

我在下面添加了3个字段,按钮和javascript的代码。

index2.php

 DrawPixel ( coordinates roundedx, roundedy, color percent (range 0-1) )

enter image description here

2 个答案:

答案 0 :(得分:1)

registerJs使用了一些jQuery赋值,所以看起来按钮调用看不到函数getValue,但你可以使用jQuery来分配onclick和代码。

假设您的按钮有一个名为yourButton的ID,您可以这样做

<div class="form-group pull-right">
    <button id="yourButton" class="btn btn-primary" >Seach</button>           
</div>

$this->registerJs (
      "$('#yourButton').on('click', function() { 
          var uPc = $('#upc').val();
          var startDate = $('#startdate').val();
          var endDate = $('#enddate').val();

          alert(uPc);
      });"
  );

在您的javascript代码中,您有&#39; .upc&#39; &#39; .startdate&#39; &#39; .enddate&#39;这意味着你正在寻找类upc,startdate endate ...但是在你的html中没有这个类与输入字段相关联..你有id然后你应该使用#udc #startdate搜索jQuery ...这样

答案 1 :(得分:0)

你可以通过序列化你的数据并使用ajax将其发送到像

这样的控制动作
    $('body').on('click','#btn_id',function(){
      var data = $('form#id').serialize();
      $.ajax({
          'type' : 'get/post',
           'dataType' : 'html/json',
           'url' : 'controller/action',
           'data' : {variable:data},
            success : function(data){
               console.log('Data Pass Successfully');
},
            error : function(){
              console.log('There is an Error....!!!');
}
});
});