Нажмите кнопку в коде в 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 будут выполняться, когда вы нажимаете клавишу возврата, пока редактирование имеет фокус.