У вас есть две проблемы здесь. Во-первых, элементы div
не имеют атрибута value
, поэтому метод val()
для них не работает. Предполагая, что из контекста вопроса вы хотите получить текст внутри элемента, используйте html()
или text()
.
Во-вторых, вызов AJAX, используемый load()
под капотом, является асинхронным. Это означает, что вам нужно будет использовать аргумент обратного вызова для чтения данных из DOM после того, как они были обновлены.
<button>Get Value</button>
<div id="DivThisPage"></div>
<input type="text" id="txtValue" name="txtValue" />
jQuery(function($) {
$('button').on('click', function() {
$("#DivThisPage").load("/relative-path #DivTheOtherPage", function() {
var myVal = $('#DivTheOtherPage').text();
$("#txtValue").val(myVal);
});
});
});
Также обратите внимание, что здесь используется ненавязчивый обработчик событий. Встроенные атрибуты событий теперь считаются плохой практикой (так как они HTML и JS logi c слишком плотно), и их следует по возможности избегать.
Кроме того, если вы позвонив в определенное место на вашем сайте, используйте относительную ссылку.