我有以下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-從 –