У меня есть страница, которая открывает всплывающее окно
<script>
var popup = window.open('forms/trucksform.php');
popup.moveTo(0,0);
popup.resizeTo(318,340);
popup.focus();
popup.moveBy(500,200);
</script>
как я могу сосредоточиться на текстовом поле внутри этого всплывающего окна
<div class="mainform">
<form name="addtrucks" id="addtrucks" method="POST" action="<?php echo $editFormAction; ?>">
<label>Truck Plate Number:</label>
<input type="text" name="truck_plate_no" id="truck_plate_no" />
<br/>
<input name="button" type="submit" id="button" onclick="MM_validateForm('truck_plate_no','','R');return document.MM_returnValue"/>
<input type="hidden" name="MM_insert" value="add" />
</form>
</div>
Вы можете использовать два способа: с родительской страницы вы можете получить доступ к всплывающему окну:
<html>
<body>
<script>
var popup = window.open('trucksform.php');
popup.onload = function() {
popup.document.getElementById("truck_plate_no").focus();
};
popup.moveTo(0,0);
popup.resizeTo(318,340);
popup.focus();
popup.moveBy(500,200);
</script>
</body>
</html>
Или добавьте начальное состояние в всплывающее окно (таким образом, лучше, потому что у вас будет ссылка на элемент на той же странице):
<div class="mainform">
<form name="addtrucks" id="addtrucks" method="POST" action="<?php echo $editFormAction; ?>">
<label>Truck Plate Number:</label>
<input type="text" name="truck_plate_no" id="truck_plate_no" />
<br/>
<input name="button" type="submit" id="button" onclick="MM_validateForm('truck_plate_no','','R');return document.MM_returnValue"/>
<input type="hidden" name="MM_insert" value="add" />
</form>
</div>
<script>
document.getElementById("truck_plate_no").focus();
</script>
Обновление для Chrome: похоже, что манипуляция с всплывающим окном блокирует некоторые функции пользовательского интерфейса. Вы можете добавить в текст атрибут autofocus="autofocus"
во всплывающем окне. Чтобы удалить манипуляции со всплывающим окном, используйте параметры для open
:
<html>
<body>
<script>
var popup = window.open('trucksform.php', 'myWindowName', 'left=200,top=500,width=318,height=340');
</script>
</body>
</html>
Попробуйте
$("#truck_plate_no").focus();