comment définir la zone de texte valeur dans jquery
Comment puis-je charger correctement le une certaine valeur dans une zone de texte à l'aide de jquery?Essayé celui ci-dessous mais j'ai l' [object Object]
en sortie. Merci de m'éclairer sur ce, je suis nouveau sur jquery.
JS:
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);
}
HTML:
<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>
- qu'est-ce que str3? Où est-il déclaré? Il semble que vous essayez de charger un objet comme valeur lorsque vous avez probablement juste besoin d'une propriété de cet objet-
- désolé, oublié de le mettre st3 = $('#sous-total").load('compz.le php?prodid=' + x + '&qbuys=' + y);
Vous devez vous connecter pour publier un commentaire.
Je pense que vous voulez définir le temps de réponse de l'appel à l'URL
'compz.php?prodid=' + x + '&qbuys=' + y
que la valeur de la zone de texte à droite? Si oui, vous avez à faire quelque chose comme:Référence:
get()
Vous avez deux erreurs dans votre code:
load()
met le HTML retourné à partir de l'Ajax dans l'élément spécifié:Vous ne pouvez pas définir la valeur d'un textbox avec cette méthode.
$(selector).load()
retourne le jQuery objet. Par défaut, un objet est converti[object Object]
quand il est traité comme une chaîne de caractères.De plus amples éclaircissements:
En supposant que votre URL renvoie
5
.Si votre code HTML ressemble à:
alors le résultat de
sera
Mais dans votre code, vous avez un élément de saisie. Théoriquement (il n'est pas valide HTML et ne fonctionne pas comme vous l'avez remarqué), un équivalent d'appel aurait pour résultat
Mais vous avez réellement besoin
Par conséquent, vous ne pouvez pas utiliser
load()
. Vous devez utiliser une autre méthode, obtenir la réponse et la définir comme valeur vous-même.$('#subtotal').val(str3);
parce queload()
ne fonctionne pas comme vous le pensiez, il fonctionne. Oui, vous pouvez utiliserload()
pour charger du texte ou HTML dans undiv
mais pas en tant que zone de texte valeur.data = data.replace(/\s+/, '');
valeur est javascript pour utiliser jQuery langue que vous devriez utiliser
à obtenir et
pour le régler.
http://api.jquery.com/val/
Votre deuxième question.
Je n'ai jamais essayé la configuration automatique de la valeur html de la méthode de chargement, désolé. Pour sûr, vous pouvez faire quelque chose comme
Le tester car je suis écrivez-codage 😉
http://api.jquery.com/load/
val()
, à des fins de référence.val()
correctement, juste de la valeur qu'il lui passe n'est pas correct.Je tiens à vous faire remarquer que .val() fonctionne également avec sélectionne pour sélectionner la valeur sélectionnée.
essayer
JS:
HTML: