使用alertify - version 0.3.11
,我可以获取用户输入详细信息,并能够在提示对话中显示它。但我有多个价值观。用户输入,下拉值,日期选择等
var totalResources = jQuery('#grid').jqGrid('getGridParam', 'selarrrow');
//set custom button title for Form Submit
alertify.set({ labels: {
ok : "Submit Data",
cancel : "Cancel"
} });
//fetch user input comment
alertify.prompt("Please enter note/remarks for this Form :<br/>Total Resource(s): <strong>"+totalResources.length+"</strong>", function (e,value) {
if (e) {
alertify.success("Data has been submitted");
//encodes special characters remarks
var sow = encodeURIComponent(value);
$.post(SITE_URL+"somecontroller/someaction",$("#frm_submit").serialize()+ "&resource_ids="+resource_ids+"&sow="+sow, function( data ) {
});
}else{
alertify.error("Your Data is not submitted");
}
});
类似于下图中显示的
我如何使用alertify构建模态表单,用户可以在其中查看预先提供的详细信息并输入其详细信息并提交?
答案 0 :(得分:2)
他们在Alertify中添加了表单功能。看看this
从他们的网站代码如下: -
<!-- the form to be viewed as dialog-->
<form id="loginForm">
<fieldset>
<label> Username </label>
<input type="text" value="Mohammad"/>
<label> Password </label>
<input type="password" value="password"/>
<input type="submit" value="Login"/>
</fieldset>
</form>
和JS代码: -
alertify.genericDialog || alertify.dialog('genericDialog',function(){
return {
main:function(content){
this.setContent(content);
},
setup:function(){
return {
focus:{
element:function(){
return this.elements.body.querySelector(this.get('selector'));
},
select:true
},
options:{
basic:true,
maximizable:false,
resizable:false,
padding:false
}
};
},
settings:{
selector:undefined
}
};
});
//force focusing password box
alertify.genericDialog ($('#loginForm')[0]).set('selector', 'input[type="password"]');
答案 1 :(得分:-2)
这实际上超出了Alertify的范围。它只是不支持这种功能。它被设计为替代典型的浏览器内置函数,如confirm()
和alert()
。
您可能想查看其他插件。特别是因为你正在使用jQuery,所以找到适合你的东西并不是很难。搜索jQuery灯箱或模态可能会出现具有您正在寻找的功能的东西。
一个选项可能是Fancybox。在那里有一个登录表单的演示,它做了类似的事情。我从未使用Fancybox,因此您的里程可能会有所不同,但有很多不同的选择。