javascript - 使用带有 <input> 标签的 Handlebars 时出现空白问题

标签 javascript html forms handlebars.js

我正在使用 Handlebars 在输入中设置默认值,它看起来像这样。

        <div class="form-group" id="eventDead">
            <label for="eventDead">Event Deadline</label>
            <input class="form-control" type="text" name="eventDead" id="eventDead" value={{this.eventDeadline}} readonly/>
        </div>

问题是,如果值 eventDeadline="I Want to Host Something",

页面上的输出是“I”,仅添加空格之前的第一个单词。 如何解决这个问题?

演示如下:

var source   = document.getElementById("entry-template").innerHTML;
var template = Handlebars.compile(source);
var context = {eventDeadline: "You want to host something"}
var html = template(context)
$("#value").html(html)
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.12/handlebars.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
            <script id="entry-template" type="text/x-handlebars-template">
            <div class="form-group" id="eventDead">
                <label for="eventDead">Event Deadline</label>
                <input class="form-control" type="text" name="eventDead" id="eventDead" value={{this.eventDeadline}} readonly/>
            </div>
</script>
<div id="value"></div>

最佳答案

这是工作代码。像这样更改您的输入值标签

value="{{this.eventDeadline}}"

var source   = document.getElementById("entry-template").innerHTML;
var template = Handlebars.compile(source);
var context = {eventDeadline: "You want to host something"}
var html = template(context)
$("#value").html(html)
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.12/handlebars.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
            <script id="entry-template" type="text/x-handlebars-template">
            <div class="form-group" id="eventDead">
                <label for="eventDead">Event Deadline</label>
                <input class="form-control" type="text" name="eventDead" id="eventDead"  value="{{this.eventDeadline}}" readonly/>
            </div>
</script>
<div id="value"></div>

关于javascript - 使用带有 &lt;input&gt; 标签的 Handlebars 时出现空白问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086593/

相关文章:

javascript - 使用 .get 获取内容后的 jQuery .hover

清除 Canvas 后,JavaScript Canvas 元素不显示

php - jquery 表单插件和编程提交

c# - AutoPostback 没有正确设置焦点

javascript - Id 选择器的格式很奇怪

javascript - 如何取消绑定(bind)并重新绑定(bind) on() 单击动画?

c# - 使用 try/catch 作为测试的错误形式?

javascript - 如何使用 Greasemonkey 自动提交表单?

javascript - jQuery 将一个元素的 css 值设置为另一个元素

javascript - 为什么这个索引签名不能是可选的?