私は AJAX と 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;
}
ここで何が間違っていますか?