Yii2:使用按钮调用 javascript 函数

Yii2: call javascript function with a button

我想通过 php

中的按钮调用 javascript 函数

这是 php 代码:

//the view
    <?php

    $form = yii\widgets\ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); 

    ?>

 <?=

$form->field($msubs, 'id_subespecifica', ['options' => ['class' => 'col-md-12']])
  ->widget(Select2::classname(),[
        'data' => ArrayHelper::map($vectorConsul,'sesp', 'sesp'),
        'options' => ['id' => 'prueba'],
        ])

  ->label(false);


 ?>


    <button class="btn btn-primary" onclick="myFunction()">Add New</button>


<?php
yii\widgets\ActiveForm::end(); 
?>

这是 Javascript 代码:

//Javascript
function myFunction() {
$.ajax({
  url:'partidaasociada/get-linea',
  type:'POST',
  dataType:'json',
  data:{pruebaId:$('#prueba').val()}
  // alert(pruebaId);
});

在 javascript 函数中,我需要将 $('#prueba').val() 发送到控制器中的 php 函数:

//Controller
public function actionGetLinea($pruebaId)
{
    $model = new PartidaAsociada();
    log($pruebaId);
}

但我遇到了一些错误,我认为该按钮正在重新加载整个表单并且无法识别您发送到表单的先前数据。

注意:javascript 函数中的 'alert()' 是注释,因为它不会让我使用,当我发出警报时,表单保持加载状态。预先感谢。

我认为部分问题是您没有阻止按钮单击的默认操作。

我们也可以清理一下。按 control+shift+i 并选择控制台选项卡以查看 console.log 输出。

HTML:

<button class="btn btn-primary _addNew">Add New</button>

Javascript:

$('._addNew').on('click', function(event){
    event.preventDefault();
    var data = {};
    data.pruebaId = $('#prueba').val();

    var success = function(data){
       console.log("Success!", data);
    }
    var error = function(data){
       console.log("Error!", data);
    }
    $.ajax({
      url:'partidaasociada/get-linea',
      type:'POST',
      dataType:'json',
      data:data
   }, success, error);
});