GARANTIR DESCONTO

Fórum Executar uma funcção javascript no webbrowser #559943

05/08/2016

0

Boa tarde.
Estou precisando executar uma função javascript numa pagina html via webbrowser, abaixo segue parte do HTML e rotina do delphi.
<script type="text/javascript">
function prepararInclusaoItem(id) {
myForm = document.getElementById('faturaForm');
myForm.action='faturamentoPrepararInclusaoItem.do';
myForm.id.value = id;
}

Aguardeço que possa ajudar.
Roberto Rodrigues

Roberto Rodrigues

Responder

Posts

06/08/2016

Mateus Ribeiro

Bom dia!

Segue uma função que usei a algum tempo:

procedure CallJavaScript_WB(WebBrowser: TWebBrowser; StrFun: String);
var
  Doc: IHTMLDocument2;
  HTMLWindow: IHTMLWindow2;
  JSFn: string;
begin
  Doc := WebBrowser.Document as IHTMLDocument2;
  if not Assigned(Doc) then
    Exit;
  HTMLWindow := Doc.parentWindow;
  if not Assigned(HTMLWindow) then
    Exit;
  try
    JSFn := StrFun;
    //JSFn := 'SetFont(''' + ComboBox1.Text + ''')';
    HTMLWindow.execScript(JSFn, 'JavaScript');
  except
    ShowMessage('Erro na execução da função JavaScript');
  end;
end;


Usa-se assim:
CallJavaScript_WB(WebBrowser1, 'prepararInclusaoItem(1)');


Se não funcionar avisa q ajusto... Boa sorte!
Responder

Gostei + 0

06/08/2016

Roberto Rodrigues

Mateus

Boa tarde.

A rotina esta correta, mas não deu o efeito esperando que é chamar a próxima tela.
A tela é um GRID que tem um botão para selecionar, segue abaixo uma parte do html.

<tr>
<td style="font-size: 10px;">
1
</td>
<td style="font-size: 10px;">
1.0201.00.00
</td>
<td style="font-size: 10px;">

PERU

</td>
<td style="font-size: 10px;">
Modo 1
</td>
<td style="font-size: 10px;">
2.962,66<br />
2.962,66
</td>
<td style="font-size: 10px;">
29/01/2016
</td>
<td style="font-size: 10px;">
09/02/2016
</td>
<td style="font-size: 10px;">


<input type="image" title="Selecionar" src="images/avancar.gif" border="0" onClick="prepararInclusaoItem(5385222);" />


</td>
</tr>
Tem um Botão para clicar e chamar a função conforme sua orientação coloquei assim:

_carrega := 'prepararInclusaoItem('+_id+');' ; // prepararInclusaoItem(5385222)
CallJavaScript_WB(WebBrowser1, _carrega);

OBS: _id é o numero do registro no HTML.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar