Estoy tratando de hacer algo simple, sólo para obtener el valor de texto dentro de un p:inputText pensamiento de Javascript, pero no lo estoy consiguiendo.
Quizás es un procedimiento diferente con Primefaces, ya que si yo no uso de eso, yo no encuentro el problema.

Mi código:

<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>

He intentado también con JQuery, pero también sin éxito.

Prestados vista:

<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">
  • Tu pregunta ha jQuery de la etiqueta, usted desea que la solución es demasiado?
  • jQuery trabaja con el renderizado de HTML, por lo que poner la plantilla/servidor-lado realmente no ayuda. Publicar algunos de la representación de la fuente por favor.
  • <form id=»editlFrm» enctype=»application/x-www-form-urlencoded» method=»post» name=»editlFrm»> <input id=»editlFrm:j_id_7″ class=»ui-inputfield de la interfaz de usuario 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-botón ui-widget ui-state-default ui-corner-all de la interfaz de usuario botón de texto de un icono de la izquierda» type=»enviar» onclick=»loadPlayer();;PrimeFaces.ab({fuente:’editlFrm:j_id_8′});return false;» name=»editlFrm:j_id_8″ role=»button» aria-disabled=»false»>
  • Agregarlo a tu pregunta a través del botón Editar suele ser más útil. ;)
InformationsquelleAutor cri_sys | 2012-07-19

4 Comentarios

  1. 12

    Agregar id a su <p:inputText

    como este

    <p:inputText id="someID" value="any text" widgetVar="youtlink" ></p:inputText>

    asegúrese de que el formulario consiguió prependId="false"

    de acceder al valor como este

    alert(jQuery('#someID').val());

    si usted no desea agregar prependId="false" a su formulario, será necesario que cambie el selector de jquery de jQuery('#someID').val() a jQuery("[id$='someID']").val()


    EDITAR

    desde su formulario llamado editlFrm

    probar este (asegúrese de asignar someID id a su p:inputText)

    alert(jQuery('#editlFrm\:someID').val());
    • He intentado que me devuelve undefined.
    • +1 para la edición, tiene sentido ver la representación de la fuente.
    • Volviendo indefinido
    • ¿qué ves cuando u ejecutar este alert(jQuery('#editlFrm\\:someID').length) ?
    • Ok me las arreglo para hacerlo, la Cosa es que la identificación y widgetVar debe ser diferente.
  2. 9

    Me encontré con esta pregunta cuando se trata de hacer algo similar, y descubrió que PrimeFaces expone un widget de JQuery elemento a través de la jq propiedad.

    Así que en tu ejemplo, usted podría simplemente hacer:

    function loadPlayer() {
        alert(youtlink.jq.val());
    }

    Más recientes, PrimeFaces versiones (desde 5.0), exportado widgets parecen dejan de contaminar el espacio de nombres global, pero que necesitan ser accedidos usando el PF() método. El JQuery elemento puede, sin embargo, todavía se puede acceder de la misma manera.

    function loadPlayer() {
        alert(PF('youtlink').jq.val());
    }
  3. 5

    Mi creo que la manera más simple:

    PF('youtlink').jq.val();

    Usted puede incluso fijar el valor del campo de entrada como esta:

    PF('youtlink').jq.val('new value');

    otra manera:

    PrimeFaces.widgets.youtlink.jq.val()

    y de otra manera si tienes ID:

    $(PrimeFaces.escapeClientId("yourFormID:youtlink")).val()

    probado con PF 5.3

  4. 0

    También, hay una manera sencilla con javascript:

    <h:form id="yourID" >
        <p:inputText id="anyID" value="any text" widgetVar="youtlink" ></p:inputText>
    </h:form>
    
    function loadPlayer() {
        alert(document.getElementById('yourID:anyID').value);
    }

Dejar respuesta

Please enter your comment!
Please enter your name here