Obtenir un texte de valeur à partir de p: inputText javascript
Je suis en train d'essayer quelque chose de simple, juste pour obtenir la valeur de texte à l'intérieur d'un p:inputText
pensée Javascript, mais je ne suis pas à l'obtenir.
C'est peut-être une procédure différente avec Primefaces, car, si je ne vous en servez pas, je ne rencontre pas le problème.
Mon code:
<p:inputText value="any text" widgetVar="youtlink" ></p:inputText>
<p:commandButton value="Search" onclick="loadPlayer();" icon="ui-icon-search" />
<script type="text/javascript">
function loadPlayer() {
alert(youtlink.text);
}
</script>
J'ai essayé aussi avec JQuery, mais également sans succès.
Rendu de la vue:
<form id="editlFrm" enctype="application/x-www-form-urlencoded" method="post"
name="editlFrm">
<input id="editlFrm:j_id_7" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all"
type="text" value="assd" name="editlFrm:j_id_7" role="textbox" aria-disabled="false"
aria-readonly="false" aria-multiline="false">
<button id="editlFrm:j_id_8" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-left"
type="submit" onclick="loadPlayer();;PrimeFaces.ab({source:'editlFrm:j_id_8'});return false;"
name="editlFrm:j_id_8" role="button" aria-disabled="false">
source d'informationauteur cri_sys
Vous devez vous connecter pour publier un commentaire.
Ajouter
id
à votre<p:inputText
comme ce
assurez-vous que votre formulaire a obtenu
prependId="false"
que l'accès de la valeur comme cela
si vous ne voulez pas ajouter de
prependId="false"
sur votre formulaire, vous devez changer le sélecteur jquery dejQuery('#someID').val()
àjQuery("[id$='someID']").val()
MODIFIER
depuis votre formulaire appelé
editlFrm
essayez ceci (assurez-vous d'attribuer someID id pour votre
p:inputText
)Je suis tombé sur cette question lors de la tentative de faire quelque chose de similaire, et a découvert que PrimeFaces expose du widget JQuery élément à travers l'
jq
propriété.Donc dans votre exemple, vous pouvez tout simplement faire:
Dans la plus récente de PrimeFaces versions (depuis la 5.0), exportés widgets semblent ne plus polluer l'espace de noms global, mais doivent être accessibles à l'aide de la
PF()
méthode. Le JQuery élément peut cependant encore être accessibles de la même manière.Mes je pense que la façon la plus simple:
Vous pouvez même définir la valeur du champ de saisie comme ceci:
autre manière:
et une autre façon, si vous avez des ID:
testé avec PF 5.3
Aussi, il y a un moyen simple avec javascript: