我正在尝试在表单中预览我的名字和步骤元素,这样用户就可以看到他们是否犯了错误。我能够预览该步骤,但名称不起作用。谁能明白为什么?
http://jsfiddle.net/pocockn/rw54b/
$(document).ready(function() {
var commentNode = $('#lp-step'),
nameNode = $('#lp-name'),
name = $('#name');
$('#live-preview-form input, #live-preview-form textarea').bind('blur keyup',function() {
commentNode.text($('#step_1').val());
commentNode.html($('#lp-step').html().replace(/\n/g,'<br />'));
if($('#name').val()) {
nameNode.text(name.val() + ' says:');
}
else {
return false;
}
});
});
答案 0 :(得分:1)
您不能拥有两个具有相同ID
的元素,如果您这样做,则只会选择它找到的第一个元素。 (在这种情况下,它的div总是空的,永远不会运行你的if语句)。您拥有div
id=name
和input
。所以我将你的div id改为nameDiv
。
Id's should be unique to avoid confusion.
<div id="nameDiv">
<label for="name">Enter recipe name:</label>
<input type="text" id="name" name="name">
<br />
</div>