Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Действие после нажатия на кнопку (https://javascript.ru/forum/dom-window/52147-dejjstvie-posle-nazhatiya-na-knopku.html)

Ayaks 05.12.2014 17:39

Действие после нажатия на кнопку
 
Добрый день всем!

Помогите пожалуйста разобраться с небольшой задачкой.

Есть всплывающее окно быстрого заказа, в нем есть 2 кнопки "Отправить заказ" и "Отменить":

<div class="standart-button"><a onclick="/*checkFastOrder();*/sendQuickAjaxOrder();return false;" href="#"><span>Отправить заказ</span></a></div>
<div class="undo-button"><a onclick="$('#fastq').hide(); return false;" href="#"><span>Отменить</span></a></div>


Как сделать так, чтобы при нажатии на кнопку "Отправить заказ" при срабатывании sendQuickAjaxOrder() {т.е. верном вводе всех полей формы} кнопка "Отправить заказ" переименовывалась в "Продолжить покупки" и закрывала вспл. окно (т.е. вела на страницу купленного товара), а кнопка "Отменить" просто пропадала.

Буду очень благодарна, если поможете.

cyber_bober 06.12.2014 10:04

Вам код написать или логику?
При успешном выполнении функции (success), скрыть кнопки «Отправить» и «Отменить» (это можно сделать обратившись к классам блоков "undo-button" и тд) и показать кнопку «Продолжить покупки», экшеном у которой будет закрытие окна.

kostyanet 06.12.2014 15:42

Цитата:

Сообщение от Ayaks
т.е. вела на страницу купленного товара


После отправки, то есть в нормальных терминах - оформления - заказа выставляется счет к оплате.

Ayaks 06.12.2014 20:11

Цитата:

Сообщение от cyber_bober (Сообщение 344895)
Вам код написать или логику?
При успешном выполнении функции (success), скрыть кнопки «Отправить» и «Отменить» (это можно сделать обратившись к классам блоков "undo-button" и тд) и показать кнопку «Продолжить покупки», экшеном у которой будет закрытие окна.

Мне бы код...я очень плохо знаю js.

Цитата:

После отправки, то есть в нормальных терминах - оформления - заказа выставляется счет к оплате.
Плохо объяснила. Нет, не надо счета к оплате. Просто возврат на прошлую страницу = страницу товара.

cyber_bober 07.12.2014 21:33

Ayaks,
тогда давай код выкладывай

Lecseus 12.11.2015 15:55

второй click по той же кнопке
 
<script type="text/javascript">
function check1(otvet01){
	var show = document.getElementById("otvet01");
	var truth = 0;
		if(true){
			show.style.display = 'block',
			document.getElementById("otvet01").innerHTML="правильный ответ: индексы 0,1,3",
			document.getElementById("otvet01").style.color="green";
			truth++;
		}
			if(true && truth == 2){
			show.style.display = 'none';	
			}
			
	}
</script>
<div id="wrap1">
		<input id="but1" type="button" value="check" onClick="kontroll();">
		<div id="otvet1"> Ответ </div>
		</div>
		<button onclick="check1('otvet01');">Правильный ответ</button>
		<div id="otvet01"></div>
		<br>


всем привет. помогите пожалуйста с кнопкой. хочется, чтобы запись правильного ответа скрывалась при повторном нажатии на кнопку "Правильный ответ"? Как это можно сделать используя только JS, без jQuery?:help:

Mess4me 12.11.2015 18:09

Так пойдет?
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
     
</head>
<body>
<script type="text/javascript">
    function check1(otvet01){
        var show = document.getElementById("otvet01");
        var truth = 0;
         show.style.display = (show.style.display == 'none')?doSmth():hideText();
       

        function doSmth(){
            show.style.display = 'block',
                    document.getElementById("otvet01").innerHTML="правильный ответ: индексы 0,1,3",
                    document.getElementById("otvet01").style.color="green";
            truth++;
        }
        function hideText(){
            show.style.display = 'none';
        }


    }
</script>
<div id="wrap1">
    <input id="but1" type="button" value="check" onClick="kontroll();">
    <div id="otvet1"> Ответ </div>
</div>
<button onclick="check1('otvet01');">Правильный ответ</button>
<div id="otvet01"></div>
<br>


</body>
</html>

Lecseus 12.11.2015 18:36

спасибо.
но мне кажется, что для одного раза пойдет, а если таких 20, это 20 раз такое писать прийдется

рони 12.11.2015 18:42

Lecseus,
поиск открывашка

Lecseus 13.11.2015 10:12

уважаемый рони, скажите, вообще возможно сделать одну функцию на всех, чтобы каждая функция обращалась к этой одной общей и при определенном условии, например при else все функции обращались к этой общей? надеюсь, я доступно объяснил.
function hideT(){
			show.style.display='none';
		}

ведь если я правильно понимаю, переменную show можно задать один раз, во второй раз она уже должна быть show2, например. также как и само название функции. а можно ли сделать hideT(){} общей?


Часовой пояс GMT +3, время: 06:41.