我有一个动态表单,可以从sql db构建问题: 问题文本本身在标签或图例中。在其下方显示选项或复选框或文本输入字段。 提交后我用jquery检查错误,但错误文本的位置在选项或复选框或文本字段之前或之后。 我想在问题文本之后只有一个*。 我怎么能得到它?
部分html表单代码如下:
<table border=0 style="width:99%">
<tr><td colspan="3">
<form id="myform" method="post" action="processform.asp" name="myform" novalidate="novalidate">
<%
for i = 0 To ubound(arrVragen, 2)
vraagnr = arrVragen(0,i)
vragenlijstnr = arrVragen(1,i)
vraagdispnr = arrVragen(2,i)
vraagtype = arrVragen(3,i)
vraag = arrVragen(vraagNLEN,i)
vraagMandatory = arrVragen(6,i)
vraagConditional = arrVragen(7,i)
vraagVolgorde = arrVragen(8,i)
if vraagMandatory=0 then
req=" "
else
req="required"
end if
if vraagConditional = 1 then
'lookup SourceCondition en TargetCondition en LogicSelect in arrConditionalLogic
lookuplogic vraagnr
'display vraag
depends="q"&source&logic&"a"&answerinput
'response.write(depends)
response.write("<fieldset class='form-question' data-depends-on="&depends&">")
response.write("<label>" & vraagdispnr & ".  " & vraag & "<br/></label>")
response.write("<label class='error'></label>")
else
'display vraag
response.write("<fieldset class='form-question'>")
response.write("<legend>" & vraagdispnr & ".  " & vraag & "</legend>")
response.write("<label class='error'></label>")
end if
'display mogelijke antwoorden
add_answer vraagnr, vraagtype, req
response.write("</fieldset>")
next
jquery篇:
$(document).ready(function() {
$("#errmessage").hide();
$("#myform").onsubmit = function (f) {
f.preventDefault();
};
$("#myform").validate({
errorPlacement: function (error, element) {
$("#errmessage").show();
error.insertBefore(element);
//error.appendTo($('label[div="' + $(element).attr('id') + '"]', form));
//error.insertBefore(element.parent());
//error.appendTo('#error');
//error.insertAfter($(element).parents('label').prev($('.form-question')));
},
ignore: ":hidden",
});
});
看起来像这样:
是
没有
是
不,项目落后于计划
是
没有
是
没有
所以我希望问题文本后面的*为errormessage,而不是在标准的是或否字段之前或之后。
答案 0 :(得分:0)
我自己找到: 我在标签/图例标签和类fielderr之间添加了一个范围,然后将其添加到jquery代码中:
$("#myform").validate({
errorPlacement: function (error, element) {
ignore: ":hidden";
$("#errmessage").show();
element.parents(".form-question").find(".fielderr").append(error);