我正在尝试将 jquery 表单向导与 asp.net 一起使用来创建多步骤表单。我已经构建了表单,但是在验证电子邮件时遇到了问题。在进行下一步之前,我有两个表单字段电子邮件和确认电子邮件,它们应该匹配。我遇到的问题是我正在使用母版页,因此我的控件 ID 被重命名。jquery 表单向导的 validationOptions 似乎正在查看输入控件的名称属性而不是 ID,因此设置 clientidmode 也不起作用。我正在寻找有关如何完成这项工作的建议或替代方案。
这是我的标记
<label for="txtconfemail">Confirm Email</label>
<asp:TextBox CssClass="input_field_12em" runat="server" ID="txtconfemail" ClientIDMode="Static"></asp:TextBox>
这是我的javascript。此代码仅检查 required(不是 equalTo),即使这样也不起作用。
<script type="text/javascript">
$(function () {
$("#myform").formwizard({
formPluginEnabled: true,
validationEnabled: true,
focusFirstInput: true,
formOptions: {
success: function (data) { $("#status").fadeTo(500, 1, function () { $(this).html("You are now registered!").fadeTo(5000, 0); }) },
beforeSubmit: function (data) { $("#data").html("data sent to the server: " + $.param(data)); },
dataType: 'json',
resetForm: true
},
validationOptions: {
rules: {
txtconfemail : {
required: true
}
},
messages: {
txtemailconf:
{
required:"Email is required"
}
}
}
}
);
});
</script>
如果我用 ctl100$MainContent$txtconfemail 替换 txtemailconf,那么我的验证就会被触发。