Как вызвать контроллер без перехода на URL в magento - PullRequest
0 голосов
/ 27 июля 2011

Я новичок в magento.Мне нужно было узнать, возможно ли вызвать контроллер без перехода по URL.Что я хочу сделать, это позвонить контроллеру, но остаться на той же странице.У меня есть форма на внешнем интерфейсе, которая принимает пользовательский ввод и затем вызывает контроллер для сохранения данных в базе данных с использованием моделей.Все работает нормально, но моя проблема в том, что когда пользователь нажимает кнопку отправки, пользователь переходит на URL контроллера, но я хочу остаться на той же странице, но вызвать контроллер.вот мой код

<?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>

1 Ответ

1 голос
/ 27 июля 2011

Самый простой способ преобразовать в AJAX - это изменить кнопку следующим образом:

<input type="submit" name="submit" value="<?php echo $this->__('Submit') ?>"
    onclick="if(customForm.validator && customForm.validator.validate()) this.form.request(); return false;" />

Она ничего не делает с результатами, просто вызывает соответствующий контроллер / действие.

...