Как вызвать p: commandButton с помощью JavaScript при нажатии клавиши ввода? - PullRequest
1 голос
/ 15 декабря 2011

Я написал a и a на своей странице.Когда была нажата клавиша ввода, я хочу выполнить любую проверку js, если успех опубликовать действиенаписать запрос ("# search") [0] .click () в javascript. Он может выполнить проверку, но не может выполнить action = "# {action.getResult}".

Я не знаюне знаю, как выполнить потерянное действие.

Ответы [ 2 ]

4 голосов
/ 15 декабря 2011

Самый простой способ отправить форму из Javascript - это просто вызвать событие click() для объекта jQuery <p:commandButton>.

Большинство компонентов Primefaces могут быть доступны из Javascript с помощьюобъявив атрибут widgetVar.Этот атрибут создает переменную Javascript.Например,

<p:commandButton id="search" value="submit" onclick="return formSubmit();" action="#{action.getResult}" widgetVar="searchClientVar" />

Теперь я могу получить доступ к переменной в функции formSubmit.Эта переменная Javascript имеет атрибут jq, который ссылается на базовый объект jQuery и то, что вы можете использовать для вызова события click.

function text_onkeypress() {
  if(event.keyCode==13) {
    searchClientVar.jq.click();
  }
}

Это вызовет сторону сервера action commandButton и отправитзначения формы, если они проходят проверку.

1 голос
/ 15 декабря 2011

Какие виды чеков вам нужны?

Вам не нужно вручную вводить данные при входе (особенно если у вас есть только одна форма). Если вы хотите отправить форму только в том случае, если пользователь вводит что-то, вы можете воспользоваться тегом validateLength.

<h:outputLabel for="firstname" value="Firstname: *" />  
        <p:inputText id="firstname"   
                value="#{personBean.firstname}"   
                required="true" requiredMessage="You have to enter your name" label="Firstname">  
            <f:validateLength minimum="2" />  
        </p:inputText>  
        <p:message for="firstname" />

Смотрите здесь демо: http://www.primefaces.org/showcase-labs/ui/pprAjaxStatusScript.jsf

PS: Какую версию PF вы используете?

...