Нажмите кнопку в коде в Intraweb (VCL для Интернета)

Допустим, у меня есть приложение для веб-сайтов (написанное на Delphi 2010) с iwEdit (называемым iweLookup) и iwButton (iwbSearch). Когда в iwEdit нажата кнопка ввода, я хочу, чтобы кнопка iwButton была нажата.

Следующий код почти работает, но я думаю, что мне нужно что-то перерисовать страницу.

procedure TiwfLookupListing.iweLookupAsyncKeyDown(Sender: TObject;
  EventParams: TStringList);
begin
  if EventParams.Values['which'] = '13' then
  begin
    iwbSearchClick(Sender);
  end;
end;

Однако для этого требуется обратная связь с сервером (что было бы приемлемо, но не желательно). В идеале я хотел бы сделать это в Javascript - предположительно в ScriptEvents для iwedit (но мои навыки в Javascript в настоящее время ограничены)

Может кто-то указать мне верное направление?

2 ответа

Решение

Я в значительной степени решил эту проблему в ScriptEvents для кнопки, для onKeyDown я использовал следующий код:

if (event.which == 13) {
  IWBSEARCH_onclick(event);
  return false;
} else {
  return true;
}

Но если есть лучший способ сделать это...

IWEdits имеет событие OnSubmit, вам просто нужно привязать событие OnClick кнопки к этому OnSubmit, и кнопки OnClick будут выполняться, когда вы нажимаете клавишу возврата, пока редактирование имеет фокус.

Другие вопросы по тегам