0

我正在使用 MVC 3 Razor,并且在 PartialView [我将其显示为弹出窗口] 中有一个简单的表单。某些功能在 PartialView 中无法正常工作。例如自动对焦属性。

@Html.TextBoxFor(model => model.Code, new { style = "width:50px", maxlength = 4, autofocus = "" })

我尝试通过 jQuery 脚本设置焦点,但这也不起作用。

$('#Code').focus();

我错过了什么吗?我是否必须在部分视图中导入一些脚本才能使其正常工作?

任何帮助是极大的赞赏。

提前致谢。

更新:

我发现了问题......我正在加载窗口,然后在延迟 700 毫秒后显示它。我注释掉了 setTimeout 行并且它起作用了。一定是在加载表单时焦点起作用了,但是当我实际执行“open()”时,它又失去了焦点。

以前的代码

function openWindow(url, title) {
  var window = $("#Window").data("tWindow");
  window.ajaxRequest(url);
  window.title(title);
  setTimeout(showWindow, 700);
}

function showWindow() {
  var window = $("#Window").data("tWindow");
  window.open().center();
}

新代码

function openWindow(url, title) {
  var window = $("#Window").data("tWindow");
  window.ajaxRequest(url);
  window.title(title).open().center();;
//setTimeout(showWindow, 700);
}

感谢大家的回复。希望它可以帮助某人。

4

1 回答 1

0

试试这个代码:

function openWindow(url, title) {
  var window = $("#Window").data("tWindow");
  window.ajaxRequest(url);
  window.title(title).open().center();
  //call after the content has been loaded from the Ajax request
  document.getElementById('Code').focus();
}
于 2012-02-01T00:38:59.277 回答