如何在Delphi的TMS Web Core中调用JS alert函数显示输入框内容?
在TMS Web Core中调用JavaScript alert显示TWebEdit内容的正确方法
直接在Delphi代码中写alert(WebEdit1.Text)无效,因为这不是合法的Delphi语法。你可以通过以下两种方式实现需求:
方法1:使用ExecuteJavaScript API
TMS Web Core提供了ExecuteJavaScript函数,可直接执行任意JavaScript代码,适合动态拼接脚本的场景:
procedure TForm2.WebButton1Click(Sender: TObject); var EscapedText: string; begin // 转义文本中的双引号,避免JS语法错误 EscapedText := StringReplace(WebEdit1.Text, '"', '\"', [rfReplaceAll]); ExecuteJavaScript(Format('alert("%s");', [EscapedText])); end;
方法2:嵌入内联JavaScript(asm块)
在Delphi事件中通过asm块直接编写JavaScript代码,这种方式更直观,且能直接访问组件对应的JS对象属性:
procedure TForm2.WebButton1Click(Sender: TObject); begin asm // 注意:TWebEdit的Text属性在JS中对应value属性 alert(WebEdit1.value); end; end;
关键说明
- 第一种方法适合需要动态生成复杂JS代码的场景,记得处理特殊字符转义,避免脚本语法错误。
- 第二种方法更简洁,直接操作JS层面的组件对象,无需字符串拼接,推荐简单场景使用。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

