2008-09-22 3 views
3

У меня есть форма поиска с построителем запросов. Застройщик активируется кнопкой. Что-то вроде этогоSeam/JSF form submit кнопка включения onclick event

<h:form id="search_form"> 
    <h:outputLabel for="expression" value="Expression"/> 
    <h:inputText id="expression" required="true" value="#{searcher.expression}"/> 
    <button onclick="openBuilder(); return false;">Open Builder</button> 
    <h:commandButton value="Search" action="#{searcher.search}"/> 
</h:form> 

Результат является HTML, который имеет как <button/> и <input type="submit"/> в форме. Если пользователь вводит строку в поле выражения и нажимает клавишу ввода, а не нажимает кнопку отправки, построитель запросов отображается, когда ожидаемое поведение заключается в том, что поиск должен быть отправлен. Что дает?

ответ

2

Предполагается, что кнопка в форме HTML используется для отправки формы. Нажмите кнопку «Изменить», чтобы ввести тип = «кнопка», и это должно исправить.

В качестве альтернативы, добавьте type = "button" в элемент кнопки.

1

как первый, введите ID для поиска. Затем на текстовое поле, вы можете перехватить событие клиента OnKeyDown с функцией (JavaScript), как это:

function KeyDownHandler(event) 
    { 
     // process only the Enter key 
     if (event.keyCode == 13) 
     { 
      // cancel the default submit 
      event.returnValue=false; 
      event.cancel = true; 
      // submit the form by programmatically clicking the specified button 
      document.getElementById('searchButtonId').click(); 
     } 
    } 

Я HOPER я помочь вам.

0

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

Попробуйте

  1. Добавить еще одно поле ввода. Спрячьте его, нарисуйте его, чтобы он не был виден. (Например, <input type="text" name="bogusField" style="display: none;" />
  2. Блок ввода ключа формы представить поведение обработчика событий JavaScript (например, here или here). Еще лучше, если использовать графический инструментарий, который может помочь с этим (например, GWT)

 Смежные вопросы

  • Нет связанных вопросов^_^