我正在尝试使用ajax从html的选择列表中传递选定的月份。但是每次我选择一个月时,它都不会出现。在我选择一个月之前,由于if else
是有条件的,因此“什么都没有”,然后当我选择一个月时,“什么都没有”这个词消失了,但没有获取任何变量。
这是我的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',
data : {month:month},
success : function(data) {
$('#month').html(data);
}
});
}
这是html和php
<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>
我该如何正确地在JavaScript中传递变量以将该变量存储在php中?
编辑:
我意识到自己写错了url
,而我刚刚用JavaScript编辑了url
。它成功传递了变量,但页面变成了两倍。在这里,我得到了屏幕截图。
选择月份之前(请注意“无”)
选择月份后(请注意“这是Februari”)
答案 0 :(得分:0)
编辑后的答案
当您单击按钮时,您将提交表单,以便您在同一页面上被重定向。
尝试一下:
$('#button-search-ohr').on('click', function(e) { // Add the "e" in your function
// You stop the submit
e.preventDefault();
e.stopPropagation();
var month = $('#monthChoose').val();
if(month == 0) {
$('#month').html('Nothing');
alert('Month must be choosen!');
} else {
$('#month').html('This is ' + month);
}
}
然后替换:
<div id="month">
<?php
if(isset($_POST['month'])) {
$month = $_POST['month'];
echo 'This is '.$month;
}else {
$month = null;
echo 'Nothing';
}?>
</div>
通过:
<div id="month">
Nothing
</div>
您无需在同一页面上进行Ajax调用即可更改div的内容。只需从“无”切换到“这是+所选月份”即可。
以下是向您展示的代码段:只需单击您的按钮,内容就会发生变化:
$('#button-search-ohr').on('click', function(e) { // Add the "e" in your function
// You stop the submit
e.preventDefault();
e.stopPropagation();
var month = $('#monthChoose').val();
if(month == 0) {
$('#month').html('Nothing');
alert('Month must be choosen!');
} else {
$('#month').html('This is ' + month);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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'>
Nothing
</div>