我有一个表单,允许访问者使用“添加另一个”链接添加新的表单字段。这一切都很好,但我也试图让表单包含一个“需要这个字段”复选框,并且这样做我需要添加一些额外的div,这就是我遇到问题的地方。这是我的代码:
if (requiredbox) {
var openPrimary = '<div class="form-item-primary">';
var closePrimary = '</div>';
var openSecondary = '<div class="form-item-secondary">\
<label class="box" for="' + fieldname + '_' + counter + '_required">' + fieldlabel + ' #' + counter + ' Required</label>\
<input id="' + fieldname + '_' + counter + '_required" class="box" type="checkbox" value="yes" name="' + fieldname + '_' + counter + '_required">\
<span id="' + fieldname + '_' + counter + '_required" class="forminfo"></span>\
</div>';
var closeSecondary = '</div>';
}
else {
var openPrimary = '';
var closePrimary = '';
var openSecondary = '';
var closeSecondary = '';
}
$('<div class="form-item">\
' + openPrimary + '\
<label for="' + fieldname + '_' + counter + '">' + fieldlabel + ' #' + counter + ' <a href="" class="remove rem_' + counter + '" id="rem' + fieldname + '">(Remove)</a></label>\
<select id="' + fieldname + '_' + counter + '" name="' + fieldname + '_' + counter + '"' + addJS + '>\
<option value="">Please Select</option>\
' + optionlist + '\
</select>\
' + closePrimary + '\
' + openSecondary + '\
' + closeSecondary + '\
</div>').fadeIn("slow").appendTo('#' + fieldname + '_additions');
$('input#' + fieldname + '_count').val(counter);
// Hide the "remove" link on the previous item (if applicable)
if (counter > mincounter) {
$('.rem_' + (counter - 1)).hide();
}
我得到的错误是时间戳:12/5/2012 10:47:10 AM 错误:NS_ERROR_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0 [nsIDOMWindow.getComputedStyle] 源文件:http://mysite.com/scripts/jquery-1.8.2.js 行:6812
第6812行是: computed = window.getComputedStyle(elem,null),
我已将问题缩小到了界限:
var closePrimary = '</div>';
如果我将结束div更改为ANYTHING,那么它工作正常但我需要为布局关闭div标签。有谁知道我在这里做错了什么?
谢谢!
答案 0 :(得分:2)
将HTML片段生成为单独的字符串,使用alert()
回显它,并将结果粘贴到W3验证器中会出现以下错误:
元素“DIV”的结束标记未打开
换句话说,</div>
var openSecondary = ...
结束标记
顺便提一下,验证者还提出您正在重复使用one_0_required
作为多个元素的ID