我在页面的表单上运行了jquery函数和javascript验证脚本。
在一种形式上,输入ID是用“。”动态生成的。 - 这似乎导致问题并破坏了功能。
任何明显的工作?
功能:
function customAlert(){
var args = arguments;
if(args.length > 1) {
// check that custom alert was called with at least two arguments
var msg = args[0];
$(".giftmessaging").removeClass("alertRed");
$("li").removeClass("alertRed");
$("input").removeClass("CO_form_alert");
$("select").removeClass("CO_form_alert");
var div = $(".errorPopup");
div.css({"display":"block"});
div.html(msg);
for(var i = 1; i < args.length; i++) {
var inputID = args[i];
$("#"+inputID).addClass("CO_form_alert");
$(".giftmessaging").addClass("alertRed");
$('#' + inputID).focus();
$('#' + inputID).keydown(function() { $('.errorPopup').hide(); }).change(function() { $('.errorPopup').hide(); });
}
}
}
验证部分示例:
couponAlert(msg_601,"frmCPN.Number_1")
以及生成的id的示例:
input title="Coupon <%=i%> Coupon Number" type="text" class="CO_PM_VisaCouponsNumberInput<%=redText%>" id ="<%=LLBECOrderConstants.LLB_PAYDEVICE_COUPONFORM%>.<%=LLBECOrderConstants.LLB_PAYDEVICE_NUMBER%>_<%=i%>" name="<%=LLBECOrderConstants.LLB_PAYDEVICE_NUMBER%>_<%=i%>" size="15" maxlength="15" value="<%=txtbxCPID%>" class="redeemNum" onKeyPress="return checkEnter(event,'<%=LLBECOrderConstants.LLB_PAYDEVICE_COUPONFORM%>')"/>
</div>
答案 0 :(得分:2)
如果您需要按ID获取元素,并且该ID具有jQuery可能会混淆选择器语法(.
,:
等)的字符,请使用attr selector作为ID代替:
$( '[id="' + inputID '"]' )