ModalPopup или диалог с помощью Google Closure
При нажатии на ссылку "Добавить сотрудника" должен появиться ppopup с полями, чтобы принять данные пользователя. Я пробовал много вещей, но в итоге открыл новое окно, а не всплывающее окно. как заставить следующий код работать во всплывающем окне или диалоге или ModalPopup
function newUsr() {
var li = new goog.ui.LabelInput('Employee ID');
li.render(goog.dom.getElement('d'));
var li1 = new goog.ui.LabelInput('First Name');
li1.render(goog.dom.getElement('d1'));
var li2 = new goog.ui.LabelInput('Last Name');
li2.render(goog.dom.getElement('d2'));
var li3 = new goog.ui.LabelInput('Email Id');
li3.render(goog.dom.getElement('d3'));
var li4 = new goog.ui.LabelInput('Date Of Birth(yyyy-mm-dd)');
li4.render(goog.dom.getElement('d4'));
var li5 = new goog.ui.LabelInput('Date Of Joining(yyyy-mm-dd)');
li5.render(goog.dom.getElement('d5'));
var li6 = new goog.ui.LabelInput('Phone');
li6.render(goog.dom.getElement('d6'));
var fb1 = new goog.ui.Button('Submit', goog.ui.FlatButtonRenderer
.getInstance());
fb1.render(goog.dom.getElement('fb1'));
goog.events.listen(fb1, goog.ui.Component.EventType.ACTION, function(e) {
alert(" " + li.getValue() + " " + li1.getValue() + " ");
var request = new goog.net.XhrIo();
var data = new goog.Uri.QueryData();
data.set('emp_id', li.getValue());
data.set('first_name', li1.getValue());
data.set('last_name', li2.getValue());
data.set('email', li3.getValue());
var d1 = new Date(li4.getValue());
var d2 = new Date(li5.getValue());
data.set('dob', li4.getValue());
data.set('doj', li5.getValue());
data.set('phone', li6.getValue());
request.send('newUser', 'POST' , data.toString());
});
}
Date.prototype.yyyymmdd = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
};
1 ответ
Пожалуйста, покажите нам, как вы создаете и обрабатываете ссылку "Добавить сотрудника", иначе трудно ответить на вопрос. Если вы подключили прослушиватель событий для goog.events.EventType.CLICK
событие для ссылки, и поведение ссылки по умолчанию заключается в открытии нового окна (т.е. target
свойство), то вы можете предотвратить поведение по умолчанию, используя preventDefault()
, Внутри вашего обработчика событий вы можете открыть собственный диалог, например, используя goog.ui.Popup
или же goog.ui.Dialog
,
Например:
<a href="someurl" id="add">add employee</a>
и ты сделал
goog.events.listen(document.getElementById('add'), goog.events.EventType.CLICK, function(e) {e.preventDefault(); e.stopPropagation(); var dlg = new goog.ui.Dialog(); ...});