Как правильно загрузить определенное значение в текстовое поле с помощью jquery? Пробовал приведенный ниже, но я получаю результат [object Object]
as. Пожалуйста, просветите меня по этому поводу, я новичок в jquery.
proc = function(x, y) {
var str1 = $('#pid').value;
var str2 = $('#qtytobuy').value;
var str3 = $('#subtotal').load('compz.php?prodid=' + x + '&qbuys=' + y);
$('#subtotal').val(str3);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name="yoh" method="get">
Product id: <input type="text" name="pid" value=""><br/>
Quantity to buy:<input type="text" name="qtytobuy" value="" onkeyup="proc(document.yoh.pid.value, this.value);"></br>
Subtotal:<input type="text" name="subtotal" id="subtotal" value=""></br>
<div id="compz"></div>
</form>
javascript
jquery
Верн Анчета
источник
источник
Ответы:
Я думаю, вы хотите установить ответ на вызов URL-адреса
'compz.php?prodid=' + x + '&qbuys=' + y
как значение текстового поля, верно? Если это так, вам нужно сделать что-то вроде:Ссылка:
get()
В вашем коде есть две ошибки:
load()
помещает HTML, возвращенный из Ajax, в указанный элемент:Вы не можете установить значение текстового поля с помощью этого метода.
$(selector).load()
возвращает объект jQuery . По умолчанию объект преобразуется в,[object Object]
когда обрабатывается как строка.Дополнительные пояснения :
Предполагая, что ваш URL-адрес возвращается
5
.Если ваш HTML выглядит так:
тогда результат
будет
Но в вашем коде есть элемент ввода. Теоретически (это недействительный HTML и не работает, как вы заметили) эквивалентный вызов приведет к
Но вам действительно нужно
Следовательно, вы не можете использовать
load()
. Вы должны использовать другой метод, получить ответ и самостоятельно установить его как значение.источник
$('#subtotal').val(str3);
потому чтоload()
он не работает так, как вы думали. Да, вы можете использоватьload()
для загрузки текста или HTML в значение,div
но не как текстовое поле.data = data.replace(/\s+/, '');
Обратите внимание, что этот
.value
атрибут является функцией JavaScript. Если вы хотите использовать jQuery, используйте:чтобы получить значение, и:
установить это.
http://api.jquery.com/val/
Что касается вашей второй проблемы, я никогда не пробовал автоматически устанавливать значение HTML с помощью этого
load
метода. Конечно, можно сделать что-то вроде этого:Обратите внимание, что приведенный выше код не тестировался.
http://api.jquery.com/load/
источник
val()
.Я хотел бы указать вам, что .val () также работает с select для выбора текущего выбранного значения.
источник
пытаться
Показать фрагмент кода
источник