【发布时间】:2014-02-04 22:29:44
【问题描述】:
我需要创建以下表单结构:
<div class="lg-pnl" id="logP">
<form id="form">
<div class="fields" id="fields1">
<div class="txt">
<label for="user" class="ent-u"></label>
<input id="user" type="text" name="user" class="validate[required] text-input" placeholder="user"/>
</div>
<div class="txt">
<label for="pw" class="ent-l"></label>
<input id="pw" type="password" name="password" class="validate[required] pw-input" placeholder="pwd"/>
</div>
<div class="btn">
<input type="submit" value="GO" id="subGO"/>
</div>
</div>
</form>
</div>
为了存档,我使用了下面非常非常丑陋的代码:
$("#logP").append('<form id="form">');
$("#logP form").append('<div class="fields"></div>');
$("#logP form .fields").append('<div class="txt"></div>');
$("#logP form .fields .txt").append('<label for="user" class="ent-u"/>');
$("#logP form .fields .txt").append('<input id="user" type="text" name="user" class="validate[required] text-input" placeholder="user"/>');
$("#logP form .fields .txt").append('<label for="pw" class="ent-l"/>');
$("#logP form .fields .txt").append('<input id="pw" type="password" name="password" class="validate[required] pw-input" placeholder="pwd"/>');
$("#logP form .fields").append('<div class="btn"></div>');
$("#logP form .fields .buttons").append('<input type="submit" value="GO" id="subGO"/>');
我真的需要保留这个 DOM 树,因为 CSS 样式适用于它。
但是样式不能正常工作,js事件也不能与表单和输入元素绑定, 我已经失去了这些函数的所有行为,例如下面的代码不再起作用。
div.lg-pnl div.txt input[type="text"],
div.lg-pnl div.txt input[type="password"]
$('.subGO').click(function() {
$('#form').validation('validate');
});
$(function() {
$('input').keyup(function() {
this.value = this.value.toUpperCase();
});
});
所以我试图找到一些更好的方法来创建整个表单及其自己的元素 动态而不会丢失 javascript 中的样式和 id/class 引用 已定义。
非常感谢您的建议
谢谢。
【问题讨论】:
标签: javascript jquery html forms dom