我最近抓取了Alertify
库的副本,但我无法让prompt
工作。
我的应用程序是使用Bootstrap的.NET MVC。
这是我的html的剪辑(删除了大部分可见性标签):
<div class="row">
<div class="col-md-3">
Model
</div>
<div class="col-md-9">
<select id='selmodels' class='w250' type='model'><option class='w250' value='0'></option></select>
<div id="edit" class="btn btn-default">Edit</div>
</div>
</div>
这是脚本(这是不同的,但在调试时更改为alertify示例):
$(document).ready(function () {
$('#edit').click(function () {
//var name = $('#selmodels option:selected').text();
alertify.prompt('This is a prompt dialog!', 'some value',
function(evt, value) { alertify.message('You entered: ' + value); }
);
return false;
});
})
但是,点击“修改”会出现错误:
fn必须是一个函数
这有什么问题?
答案 0 :(得分:1)
在我看来,你对alertify的提示方法的参数使用了错误的顺序。正确的模板如下:
alertify.prompt('Insert your message here:', function (e, str) {
if (e) {
// e corresponds to an "OK" press.
// str is the value of the prompt textbox.
} else {
// else corresponds to a "Cancel" press.
}
}, 'Insert the default textbox message here.');
所以只需在prompt方法中更改参数的顺序即可。你的代码最终应该是这样的:
$(document).ready(function () {
$('#edit').click(function () {
//var name = $('#selmodels option:selected').text();
alertify.prompt('This is a prompt dialog!',
function(evt, value) { alertify.message('You entered: ' + value); }
'some value'
);
return false;
});
})