我有以下HTML测试文件,这是我剥夺不必要的标签从他们如何把重点放在第一输入框在对话框
dialogTest.htm
<!DOCTYPE>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../theme/blitzer.css" />
<script type="text/javascript" src="../js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript">
$(function() {
$("#dlg").dialog({
autoOpen: false,
resizable: false,
modal: true
});
$('#button1').click(function() {
ChangePassword();
});
});
var loadedByFunction = false;
function ChangePassword() {
loadedByFunction = true;
$("#dlg").dialog('option', {
width: 380,
height: 300,
title: 'Change Password',
close: function (event, ui) {}
});
$('#dlg').children().attr('src', 'dialogContent.htm')
.load(function() {
if (loadedByFunction) {
loadedByFunction = false;
$("#dlg").dialog('open');
}
});
return false;
}
</script>
</head>
<body>
<div style="display: none">
<div id="dlg">
<iframe src="" ></iframe>
</div>
</div>
<button type="button" name="button1" id="button1" >Change Password</button>
</body>
</html>
而且dialogContent.htm
<!DOCTYPE>
<html>
<head>
<script type="text/javascript">
$(function() {
$("input[name='password']").focus();
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table cellpadding="1" cellspacing="0" border="0">
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>New Password</td>
<td><input type="password" name="password1" /></td>
</tr>
<tr>
<td> </td>
<td><input type="password" name="password2" /></td>
</tr>
</table>
</div>
<br />
<div align="right">
<input type="submit" name="btnOK" value="Ok" />
<input type="reset" name="btnCancel" value="Cancel" onclick="Close()" />
</div>
</form>
</body>
</html>
我想把重点放在对话框中的第一个输入,这没有发生。实际关注的元素是关闭按钮(您可以通过按Enter键来验证该关闭按钮,关闭对话框)
请注意,对话框的内容在iframe
之内。通过将html直接插入div标签,我无法将对话框的内容组合在一起。这两个页面都是活动的aspx页面,不能简单地组合。实际的对话内容是以上几个输入框比较复杂,可以是datebox
组合,dropdown
,textarea
,multiselect
,...
请注意,setTimeout
没有工作,要么是因为该页面返回控制对话框等待打开前父母就
问题 我如何可以集中精力将焦点移至对话框中第一部分(在这种情况下,输入密码)
尝试'$(“#dlg”)。contents()。find('input:first()')。focus()' –
正确的解决方法是设置第一个输入元素的'autofocus'属性在像输入类型=“..”...“...自动对焦/”的HTML# –
您还可以检查另一个话题在这个问题上: http://stackoverflow.com/questions/277544/how-to-set-从 –