我想在我的javascript代码里面添加onblur函数到html代码,下面我的代码不能正常工作。请有人就此向我提出建议
<script type="text/javascript">
$(document).ready(function() {
var max_fields = 15; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap");
var add_button = $(".add_field_button");
var fname_lname = ' <div class="form-group"><label for="inputRegNo" class="col-lg-3 col-md-3 col-sm-3 col-xs-3 control-label" style="text-align: left;"></label><input class="special-block" type="text" name="fname[]" placeholder="Name" onblur="document.getElementById('refa5').innerHTML+='<br/>'+ this.value" /> <input class="special-block" type="text" name="lname[]" placeholder="Designation" /><button href="#" class="remove_field">-</button></div>'
var x = 1;
$(add_button).click(function(e){
e.preventDefault();
if(x < max_fields){
x++; //text box increment
$(wrapper).append(fname_lname);
}
});
$(wrapper).on("click",".remove_field", function(e){
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
答案 0 :(得分:1)
你能试试吗:
<script type="text/javascript">
$(document).ready(function() {
var max_fields = 15; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap");
var add_button = $(".add_field_button");
var fname_lname = ' <div class="form-group"><label for="inputRegNo" class="col-lg-3 col-md-3 col-sm-3 col-xs-3 control-label" style="text-align: left;"></label><input class="special-block" type="text" name="fname[]" placeholder="Name" /> <input class="special-block" type="text" name="lname[]" placeholder="Designation" /><button href="#" class="remove_field">-</button></div>'
var x = 1;
$(add_button).click(function(e){
e.preventDefault();
if(x < max_fields){
x++; //text box increment
$(wrapper).append(fname_lname);
$(wrapper).on("blur", "special-block", function() {
document.getElementById('refa5').innerHTML+='<br/>'+ this.value
})
}
});
$(wrapper).on("click",".remove_field", function(e){
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
答案 1 :(得分:1)
<强>第一强>:
我认为你的问题在这里:
var fname_lname = ' <div class="form-group"><label for="inputRegNo" class="col-lg-3 col-md-3 col-sm-3 col-xs-3 control-label" style="text-align: left;"></label><input class="special-block" type="text" name="fname[]" placeholder="Name" onblur="document.getElementById('refa5').innerHTML+='<br/>'+ this.value" /> <input class="special-block" type="text" name="lname[]" placeholder="Designation" /><button href="#" class="remove_field">-</button></div>'
在该行的hlaf之后你有这个:'refa5'
和这个'<br/>'
已经破坏了你的字符串。在这一行之后,你的代码不起作用。
第二:要将事件设置为追加元素,您无法通过在元素前添加文本来执行此操作。事实并非如此:
<input class="special-block" type="text" name="fname[]" placeholder="Name" onblur="document.getElementById('refa5').innerHTML+='<br/>'+ this.value" />
您必须使用绑定:
$('.special-block').on('blur', function(){
document.getElementById('refa5').innerHTML+='<br/>'+ $(this).value;
}
不要忘记将this.value
替换为$(this).value
。