我是magento的新手。我需要知道是否可以在不进入url的情况下调用控制器。我想要做的是打电话给控制器,但保持在同一页面。我在前端有一个表单接受用户输入,而不是通过使用模型调用控制器将数据保存在数据库中。 Eveything工作正常,但我的问题是,当用户点击提交按钮时,用户会转到控制器网址,但我想留在同一页面,但要打电话给控制器。这是我的代码
<?php $_product = $this->getProduct(); ?>
<form id="test" action="<?php echo Mage::getUrl('pricenotify/pricenotify/db') ?>" method="post">
<label for="price">Price *</label>
<input type="text" id="price" name="price" value="" class="required-entry validate-number"/><br />
<label for="email">Email Address *</label>
<input type="text" id="email" name="email" value="" class="required-entry validate-email"/>
<input type="hidden" id="id" name="id" value="<?php echo $_product->getId() ?>" />
<input type="hidden" id="propri" name="propri" value="<?php echo $_product->getPrice() ?>" />
<input type="submit" name="submit" value="<?php echo $this->__('Submit') ?>" />
</form>
<script type="text/javascript">
//< ![CDATA[
var customForm = new VarienForm('test',true);
//]]>
</script>
答案 0 :(得分:1)
convert to AJAX最简单的方法是修改按钮,如下所示:
<input type="submit" name="submit" value="<?php echo $this->__('Submit') ?>"
onclick="if(customForm.validator && customForm.validator.validate()) this.form.request(); return false;" />
它对结果没有任何作用,只需调用相关的控制器/动作。