0

我在产品详细信息页面上有一个下拉菜单,可以从中选择一个选项,并且需要使用 Ajax 在会话变量中设置此选项的值。在这部分之前它工作正常。我现在要做的是将此会话变量附加到“添加到购物车”表单操作中。

这就是表单操作代码现在的样子

<form action="<?php echo $this->getSubmitUrl($_product,array('session'=>$getselected_optionvalue)) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?> class="form">

如果我刷新页面,表单操作会更新为正确的值。如何在不刷新或离开页面的情况下更新它?

4

1 回答 1

2

success:您可以尝试更改ajax 调用函数的表单操作。

如果您使用 jQuery:

$.ajax({
  url: 'path/to/url',
  ... // Other options here
  success: function(data) {
    $('#myform').attr('action', data.newAction);
  }
});

您只需在控制器中设置数据:

$data = array(
  'newAction' => 'new/form/action/here',
  ... // Other data here
);

$jsonData = json_encode($data);

$this->getResponse()->setHeader('Content-type', 'application/json');
$this->getResponse()->setBody($jsonData);

return $jsonData;

确保将Content-type标题设置为application/json

于 2013-12-19T01:59:18.893 回答