我需要将变量值从javascript 传递到 Controller 。在html中通过select option
获取value,javascript代码在view内部。我已经编写了代码,但它只是向 HTML 显示我选择的值,它没有存储在 php 变量中。
这是我的 javascript 代码:
$('#button-search-ohr').on('click', function() {
var month = $('#monthChoose').val();
if(month == 0) {
alert('Month must be choosen!');
}
$.ajax({
async : true,
type : 'POST',
url : '<?php echo base_url();?>sms/lapkinerjastat', //this url to controller
data : {month:month},
success : function(data) {
$('#month').html(data);
}
});
}
这是我的html:
<h5 class="pilih-bulan">Month Choose
<select id="monthChoose" name="month">
<option value="0">Pilih bulan</option>
<option value="Januari">Januari</option>
<option value="Februari">Februari</option>
<option value="Maret">Maret</option>
<option value="April">April</option>
<option value="Mei">Mei</option>
<option value="Juni">Juni</option>
<option value="Juli">Juli</option>
<option value="Agustus">Agustus</option>
<option value="September">September</option>
<option value="Oktober">Oktober</option>
<option value="November">November</option>
<option value="Desember">Desember</option>
</select>
<button id="button-search-ohr" type="submit">Search</button>
</h5>
<div id='month'>
<?php
if(isset($_POST['month'])) {
$month = $_POST['month'];
echo 'This is '.$month;
}else {
$month = null;
echo 'Nothing';
}?>
</div>
Note : It'll be better with ajax to pass variable to controller.
最佳答案
在您的代码中,您两次使用变量 month
的值,而不是将“month”定义为 $_POST 全局变量名称:
data : {month:month},
解析后,如果选择的月份是四月,则结果为:
data : {April:April},
当你真正想要拥有的时候
data : {month:April},
因此我建议更改您的代码并将变量名用引号引起来:
data : {'month':month},
这样 PHP 脚本实际上就会有一个 $_POST['month'] 来处理 ;)
关于javascript - 如何将 View 内的javascript变量传递给php中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471803/