How do I properly load the a certain value into a textbox using jQuery? Tried the one below but I get the [object Object] as output. Please enlighten me on this, I’m new to 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>
I think you want to set the response of the call to the URL
'compz.php?prodid=' + x + '&qbuys=' + yas value of the textbox right? If so, you have to do something like:Reference:
get()You have two errors in your code:
load()puts the HTML returned from the Ajax into the specified element:You cannot set the value of a textbox with that method.
$(selector).load()returns the a jQuery object. By default an object is converted to[object Object]when treated as string.Further clarification:
Assuming your URL returns
5.If your HTML looks like:
then the result of
will be
But in your code, you have an input element. Theoretically (it is not valid HTML and does not work as you noticed), an equivalent call would result in
But you actually need
Therefore, you cannot use
load(). You have to use another method, get the response and set it as value yourself.