[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: свой confirm
Reh
Не как не пойму как сделать свой конфирм


$('.choose_auto img').click(function(){

modal_confirm('Точно удалить?');


Вызываем функцию она открывает окно с двумя кнопками да и нет,
как после нажатия кнопки вернуться обратно к тому месту где вызвали функцию?
Натолкните плиз
Игорь_Vasinsky
Не понял, а чем такой вариант не подходит?

function action(act){
if(act == "Да"){
//действие
}
else{
//закрыть модальное окно
return;
}
}


допустим да и нет это 2 кнопки button внутри модального окна

<input type="button" value="Да" oclick="action(this.value)">
<
input type="button" value="Нет" oclick="action(this.value)">


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Reh
Цитата
Не понял, а чем такой вариант не подходит?


Дак эта функция будет из разных мест вызываться и действия при кнопке да будут разными,
при нажатии нет будут одинаковыми - только окно закрыть

Игорь_Vasinsky
ахаха. ну добавь 2й аргумент - handler - И передавай туда функцию обработки

по хорошему написать объект - с 2мя методами - алгоритм кнопки "Да" - аргументом в него

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Reh
спасибо! Сейчас попробую smile.gif
Reh
А как такую же функцию сделать - confirm()? Как она работает?
МНе кажется так удобнее чтобы только на тру или ложь проверять


$('.choose_auto img').click(function(){

if(confirm()){

console.log('нажали да')
}else{

console.log('нажали нет')
}
Игорь_Vasinsky
Для того чтобы модальное окно было модальным - нужно добавить стили для div в методе window()

а так - пот тебе пример

<html>

<
head>
<
script type="text/javascript">
var modalWindow = {
message : 'Heyyy!',
width : 400,
height : 100,
YesText : 'Okey',
NoText : 'Noup',
set : function(params){
for(var k in params){
this[k] = params[k];
}
}
,
window : function () {
var div = document.createElement("div");
div.innerHTML = this.message + '<br/><br/>';
div.style.width = this.width + 'px';
div.style.height = this.height + 'px';
div.style.padding = '10px';

div.style.border = '1px solid gray';
div.style.backgroundColor = '#EAEAEA';

div.appendChild(this.buttonYes());
div.appendChild(this.buttonNo());
return div;

},
buttonYes : function() {
var button = document.createElement("input");
button.type = 'button';
button.value = this.YesText;
button.onclick = function(){
modalWindow.handlerYes();
}
return button;
},
buttonNo : function() {
var parent = this;
var button = document.createElement("input");
button.type = 'button';
button.value = this.NoText;
button.onclick = function(){
modalWindow.handlerNo();
}
return button;
},
show : function(){
document.body.appendChild(this.window());
},
//default
handlerYes : function(){
alert('YEEEEEEEEEEEEEP !!!');
},
//default
handlerNo : function(){
alert('NOOOOOOOOOOOUP !!!');
}
}


//Конфигурация
modalWindow.set({
message : 'Oooops',
YesText : 'New BUTTON TEXT - YEEES',
//Замена дефолтового обработчика кнопки Да
handlerYes : function(){
alert('My HANDLER BLYA !');
}
}
);

</
script>

</
head>

<
body>

<
a href="#" onclick="modalWindow.show(); return false;">click here</a>

</
body>
</
html>


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.