OOP中的动态表单创建和提交
Dynamic Form Creation and submission in OOP
我正在尝试创建一个类来动态创建表单,然后提交表单。这是一个简单的类,但现在我迷失了方向。
var creathtml=function(){
this.createform=function(o,title){
var openingtag="<form action='#' class='form-horizontal well' onSubmit='this.submitform'><fieldset><legend>"+title+"</legend>";
var fields="";
for (var i=0; i<o.length; i++)
{
if(o[i].type=='input')
{
fields+="<div class='control-group'><label class='control-label' for='"+o[i].id+"'>"+o[i].label+"</label><div class='controls'><input type='"+o[i].subtype+"' id='"+o[i].id+"' class='"+o[i].class+"'></div></div>";
}
if(o[i].type=='button')
{
fields+="<div class='control-group'><div class='controls'><button type='"+o[i].subtype+"' id='"+o[i].id+"' class='"+o[i].class+"'>"+title+"</button></div></div>";
}
}
var closingtag="</fieldset></form>";
$(body).html (openingtag+fields+closingtag;
};
this.submitform=function()
{
console.log('mnmnmnmn');
return false;
}
}
用法
var obj= new creathtml;
var h=obj.createform([
{'type':'input','subtype':'input','name':'Wow','label':'Item Name','id':'itmname','class':''},
{'type':'input','subtype':'input','name':'hello','label':'Item Code','id':'hello','class':''},
{'type':'input','subtype':'input','name':'hello','label':'Item Code','id':'hello2','class':''},
{'type':'button','subtype':'submit','name':'submit','label':'Null','id':'submit','class':'btn btn-primary'}
],'Create New Items');
我已经成功地创建了HTML并在DOM上进行了填充。但不知道如何检测表单提交或为这个特定类创建提交方法?
这是我第一次尝试javascript OOP,所以如果做得不对,请尽可能建议正确的方法
您已经检测到使用onSubmit='this.submitform'
提交的表单。此外,如果可能的话,您可能希望使用模板引擎。
由于您已经在使用jQuery,因此为表单提交添加一个监听器将是理想的选择:
this.createform = function(o,title) {
...
for (var i=0; i<o.length; i++)
{
...
$('.' + o[i].formClass).on('submit', function() {
console.log('handle form submit here');
});
}
...
};
相关文章:
- 如何使用Java脚本创建提交按钮's的拖放功能
- 如何创建动态ajax提交表单
- 在提交之前创建文本区域预览
- 使用javascript创建Form元素,并在不重定向/刷新的情况下提交
- 提交在弹出窗口中创建的表单
- 创建一系列定时表单提交
- 不会提交通过 DOM 创建的<输入>值
- Javascript创建的元素不会在提交时发布
- Rails/Ajax 在提交后将表单从创建更改为更新
- 每次提交表单时都使用新名称创建对象
- asp.net mvc 服务器是否可以查看在父级执行提交时动态创建的控件
- JQuery / Javascript弹出框和表单提交创建
- 保持提交按钮处于禁用状态,直到填充动态创建的必填字段
- 在表中创建提交按钮
- HTML 正在创建提交重定向
- 如何创建一个计数器循环,该循环在单击提交按钮时启动,并输出多行单词,每个单词前面都有一个数字
- Javascript表单提交会创建大量的POST请求(多次提交)
- jQuery创建的表单字段在提交时返回“undefined”
- 如何在覆盖层中创建提交和关闭按钮
- 创建提交表单的快捷方式