我正在尝试创建一个生成html模板的表单。我在页面上的隐藏div中有模板,并使用jQuery创建一个带有模板html的新窗口,但我无法弄清楚如何将表单字段的内容加载到模板中。我知道我应该使用AJAX,但我不知道从哪里开始。
答案 0 :(得分:0)
假设您有此模板:
<div class="template">
<p class="blah"></p>
<p class="foo"></p>
</div>
以及此表格:
<form>
<input name="blah" class="blah"/>
<input name="foo" class="foo"/>
</form>
所以,对于这个例子,我们将假设通过每个相应元素的公共类将表单元素映射到模板元素:
$("form input").each(function() {
$(".template").find("." + $(this).attr("class")).html(this.value);
});
答案 1 :(得分:0)
我一直在使用的一个技巧是使用<script type="text/html">
标记。浏览器不呈现代码,所以我做的是这样的:
<script type="text/html" id="template">
<div>
<div class="some_field">{name}</div>
<h4>{heading}</h4>
<p>{text}</p>
</div>
</script>
你的表格是这样的:
<form>
<input type="text" name="name" />
<input type="text" name="heading" />
<input type="text" name="text" />
</form>
然后你的javascript代码就像:
$(document).ready(function(){
var tpl = $('#template').html();
$('form input').each(function(){
tpl.replace('{'+$(this).attr('name')+'}',$(this).val());
});
$('div.some_destination').html(tpl);
});
希望它有所帮助。如果您对此方法有更多疑问,请告诉我。