我正在使用MVC 3 Razor,我在PartialView中有一个简单的表单[我将其显示为弹出窗口]。部分功能在PartialView中无法正常工作。例如autofocus属性。
@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);
}
感谢大家的回复。希望它可以帮到某人。
答案 0 :(得分: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();
}