我有一个有 2 个文本框的表单。PageName 和 RouteToken。RouteToken 针对数据库进行远程验证。效果很好,问题是我在 PageName 上有一个模糊功能,可以将值“复制”到 RouteToken。这一直有效,直到两个文本框都填充了相同的信息,转到 PageName 并删除几个字符,然后在某处点击标签。它随机工作,RouteToken 中随机删除几个字符,具体取决于我执行的速度有多快或多慢。
我已将此(voodooo)添加到我的编辑页面以“镜像”事物并使页面名称 url 友好:
$("#PageName").change(function (e)
{
e.preventDefault();
var routeToken = parseUrl($("#PageName").val());
$("#RouteToken").val(routeToken);
});
鉴于:
@Html.EditorFor(model => model.PageName)
@Html.EditorFor(model => model.RouteToken)
@Html.ValidationMessageFor(model => model.RouteToken)
远程检查:
public JsonResult CheckRouteToken(Page page)
{
var r = _contentRep.GetRoute(page.RouteToken);
bool isValid = ((r == null || page.PageID == r.PageID);
return Json(isValid, JsonRequestBehavior.AllowGet);
}
有没有办法修改它,以便我的功能和验证可以一起工作?当 pageName 文本框失去焦点时,我希望以某种方式“模糊”让 routeToken 填充一些服务器端。或者对我的 js 进行一些修改,使其工作。
有任何指示、想法或修改吗?