我在 AJAX a CodeIgniter 上浏览过很多教程,但我似乎无法让它工作。我正在尝试提交将产品添加到购物车的表单。
这是控制器部分:
public function addtocart($page = 'orcamento')
{
...
// ADD TO CART
$idprod=$this->input->post("id",TRUE);
$quant=$this->input->post("quant",TRUE);
$prodname=$this->input->post("prodname",TRUE);
$addtocart = array(
'id' => $idprod,
'qty' => $quant,
'price' => 1,
'name' => $prodname
);
$this->cart->insert($addtocart);
风景:
<?php
$attributes = array('id' => 'flor'.$florestais_total_count);
echo form_open('orcamento/addtocart', $attributes);
?>
<span class="prod_list_quant_title">
<?php echo lang('orc_quantidade'); ?>
</span>
<input type="text" name="quant" id="quant" class="prod_list_quant_input" value="" />
<input name="id" type="hidden" value="<?php echo $flor->idprodutos; ?>" style="border:0;" />
<input name="prodname" type="hidden" value="<?php $this->General_model->getLangString($flor->name,$lang); ?>" style="border:0;" />
<div class="prod_list_quant_add" onclick="addtocart('flor<?php echo $florestais_total_count; ?>')">
<span class="text_quant_add"><?php echo lang('orc_btn_add'); ?></span>
</div>
</form>
</div>
还有 addtocart 功能:
function addtocart(formid)
{
var pid=$c("form#"+formid).children("input[name='id']").val();
var pquant=$c("form#"+formid).children("input[name='quant']").val();
var pname=$c("form#"+formid).children("input[name='prodname']").val();
$c.ajax({
type: "POST",
url: "<?php echo base_url(); ?>orcamento/addtocart",
dataType: "json",
data: "id="+pid+"&qty="+pquant&"name="+pname,
cache:false,
success: function() {
}
});
return false;
}
我在这里做错了什么?