По-видимому, это не поддерживается в расширении.
Причина:
Причина в том, что в dialog.js
, где определен KrajeeDialog.prototype
, функция bdPrompt
- это та, которая заботится о диалоге приглашения, который должен быть создан, и создает тип поля по умолчанию как input
вместо того, чтобы выбирать какой-либо из параметров или параметров, переданных KrajeeDialog.prompt()
, хотя вы можете передать параметр с именем type
, например
krajeeDialog.prompt({
label:'Text emailu:',
placeholder:'Zadejte text emailu',
type:'password'
},function(){})
но это не решает, будет ли элемент типа input
или textarea
, этот параметр type
передается как attribute
элемента ввода. См. Приведенный ниже блок кода, чтобы понять причину, по которой я объяснил, что третья строка всегда создает поле типа ввода.
Файл yii2-dialog/assets/js/dialog.js
Строка 110
if (typeof input === "object") {
$inputDiv = $(document.createElement('div'));
$input = $(document.createElement('input'));
if (input['name'] === undefined) {
$input.attr('name', 'krajee-dialog-prompt');
}
if (input['type'] === undefined) {
$input.attr('type', 'text');
}
if (input['class'] === undefined) {
$input.addClass('form-control');
}
$.each(input, function(key, val) {
if (key !== 'label') {
$input.attr(key, val);
}
});
if (input.label !== undefined) {
msg = '<label for="' + $input.attr('name') + '" class="control-label">' + input.label + '</label>';
}
$inputDiv.append($input);
msg += $inputDiv.html();
$input.remove();
$inputDiv.remove();
} else {
msg = input;
}
Так что вам может потребоваться переопределить функцию javascript в соответствии с вашими потребностями, если вы хотите работать таким образом.