Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.07.2018, 13:32
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Выполнение php при нажатии на кнопку
Доброго времени суток!
Необходимо при нажатии на кнопку выполнить php код.
Кнопка:
<button type="submit" onclick="want_credit();return false;" name="submitIdentity" id="submitIdentity" value="Button" style="background: #0a51ae;">
                                    <span><?=GetMessage("LIKEE_ESTORE_KUPITQ_V_CREDIT")?></span>
                                </button>

После нажатия на кнопку должен выполняться php код, который производит создание заказа.
Данный php находится в том же файле, что и кнопка.
Подскажите, пожалуйста, каким образом сделать так, чтобы php код выполнился именно после нажатия кнопки.

На всякий случай php код:
global $USER;
$rsUser = CUser::GetByID($USER->GetID());
$arUser = $rsUser->Fetch();
$products = array(
array(
'PRODUCT_ID' => $arResult['ID'],
'NAME' => $arResult['NAME'],
 'PRICE' => $arResult['PRICES']['Розничная']['DISCOUNT_VALUE'],
'CURRENCY' => 'RUB',
'QUANTITY' => 1
)
);
$basket = Bitrix\Sale\Basket::create(SITE_ID);
 
foreach ($products as $product)
{
$item = $basket->createItem("catalog", $product["PRODUCT_ID"]);
unset($product["PRODUCT_ID"]);
$item->setFields($product);
}
$order = Bitrix\Sale\Order::create(SITE_ID, $USER->GetID());
$order->setBasket($basket);
$shipmentCollection = $order->getShipmentCollection();
$shipment = $shipmentCollection->createItem(
                                    Bitrix\Sale\Delivery\Services\Manager::getObjectById(1)
);
$shipmentItemCollection = $shipment->getShipmentItemCollection();
 
foreach ($basket as $basketItem)
{
$item = $shipmentItemCollection->createItem($basketItem);
$item->setQuantity($basketItem->getQuantity());
}
$paymentCollection = $order->getPaymentCollection();
$payment = $paymentCollection->createItem(
Bitrix\Sale\PaySystem\Manager::getObjectById(1)
);

$payment->setField("SUM", $order->getPrice());
$payment->setField("CURRENCY", $order->getCurrency());
$result = $order->save();
Ответить с цитированием
  #2 (permalink)  
Старый 01.08.2018, 08:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от _marisha
каким образом сделать так, чтобы php код выполнился именно после нажатия кнопки
Отправить запрос на сервер, там его обработать и выполнить нужный код.
Ответить с цитированием
  #3 (permalink)  
Старый 01.08.2018, 10:55
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

ksa, спасибо что откликнулись )
Если сделать так:
function new_order() {
$(document).ready(function() {
$("submit").click(function () {
$.ajax({
 type: 'POST',
url: window.location.href,
success: function (data) {
alert(data);
$("p").text(data);
}
});
});
}

Кнопка:
<div class="form-group">
                                <form method="post">
                                <button type="submit" onclick="want_credit();return false;new_order();" name="submitData" id="submitIdentity" value="Button" style="background: #0a51ae;">
                                    <span><?=GetMessage("LIKEE_ESTORE_KUPITQ_V_CREDIT")?></span>
                                </button>
                                </form>
                            </div>

В таком случае при нажатии на кнопку создается заказ, но не открывается форма want_credit() - это форма для оформления кредита, которая должна открывать по нажатию кнопки "В кредит".
Т.е. по нажатию на кнопку "В кредит" должен создаваться заказ и открываться форма.
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2018, 14:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

onclick="want_credit();return false;new_order();" - если сервер оформляет заказ, по результату которого нужно оформить кредит и это want_credit(), то никаких onclick, просто отправляем форму, ждем ответ сервера, и только потом оформляем кредит.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена класса у отдельного div при нажатии на ссылку Maxim-Ra Элементы интерфейса 6 15.02.2015 12:20
При нажатии на кнопку подключать внешний js-скрипт Shurik Элементы интерфейса 16 19.11.2014 04:04
Как средствами Ajax при нажатии на кнопку (ссылку) открывать окно, в котором будет ин Sergo jQuery 3 13.03.2014 10:17
Запуск выполнения PHP при нажатие на кнопку??? Abibas220 Общие вопросы Javascript 1 05.01.2011 12:05
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36