我在杰森使用这个按钮。
<button id="bid" type="button" class="button" onclick="connect()">Save</button>
当我在document.getElementById之后使用alert时显示更改。但它不适用于ajax功能。这是我的连接功能
function connect()
{
var BID = document.getElementById('BID').value;
var REF = document.getElementById('ref_po').value;
var POU = document.getElementById('po_units').value;
//**alert(BID + REF + POU);**
var url ='<?php echo base_url()."index.php/main/transacIn/" ?>';
$.ajax({
type: "POST",
url: url,
data: 'BID='+BID +'&REF='+REF +'&POU='+POU,
success: function(data) {
//$("#bid").hide();
alert(BID);
}
});
}
提醒(BID + REF + POU); 此提醒有效但成功无效。并且它不会将任何数据发送到控制器。帮帮我。提前谢谢。
答案 0 :(得分:1)
Try this solution.
It will work.
$.post(url , {BID: BID, REF: REF, POU:POU },
function(data){
alert(BID);
});
答案 1 :(得分:0)
你不能将php语法注入javascript文件。您可以将codeigniter
模板文件中的脚本定义为
<script type="text/javascript">
// Your javascript function
</script>
...或者您可以在模板文件中定义一个实际获取控制器路径的javascript变量:
var url = <?php echo base_url()."index.php/main/transacIn/" ?>';
然后在ajax帖子上的javascript文件中,您指向模板文件中定义的变量:
$.ajax({
type: "POST",
url: url,
data: 'BID='+BID +'&REF='+REF +'&POU='+POU,
success: function(data) {
//$("#bid").hide();
alert(BID);
}
});
希望你明白了。
无论如何,你需要小心定义全局变量。通过使用命名空间来保护变量是一种很好的做法。
答案 2 :(得分:0)
试试这个
function connect()
{
var BID = document.getElementById('BID').value;
var REF = document.getElementById('ref_po').value;
var POU = document.getElementById('po_units').value;
var site_url = document.getElementById('site_url').value;
var url = site_url+'main/transacIn';
$.ajax({
type: "POST",
url: url,
data: {
BID : BID ,
REF: REF,
POU:POU
},
success: function(data) {
//$("#bid").hide();
alert(BID);
},
error: function(err) {
console.log(err);
}
});
}
您应该在相应页面中隐藏字段<input id="site_url" type="hidden" value="<?php echo site_url(); ?>"/>