2

我有一个使用 Delphi (2009) Web Broker 构建的相当简单的 Web 应用程序。我正在尝试(但失败)将 Javascript 输出到页面。

我需要输出的javascript在<form>标签中的页面正文中,如下所示:

<script>DateInput('mydatefield', true, 'DD-MM-YYYY');</script>

这个 javascript 应该创建一个不错的日期输入控件(在手工制作的 HTML 页面中测试正常)。我的 Delphi 应用程序中的代码是:

Response.Content := Response.Content + '<script>DateInput(''mydatefield'', true, ''DD-MM-YYYY'');</script>';

脚本标签正在从最终输出中删除。

作为测试,我添加了一个带有onClick如下事件集的 HTML 按钮:

Response.Content := Response.Content + '<input type="button" onClick="alert(''Hello World'')" Value="Hello World"/>';

以及当检查页面的来源时

alert(''Hello World'')

已经变成

alert(&#39;Hello World&#39;)

我想知道这个单引号是否从 ' 翻译成&#39; 可能导致我之前的脚本标签被删除?

任何帮助/指针表示赞赏,谢谢。

*编辑

我应该指出,警报弹出窗口确实适用于&#39;字符。

*编辑

我曾尝试使用 JQuery 脚本,例如 $(document).ready(function() { etc }); 它正在工作,所以我想问题不在于 WebBroker 输出。感谢所有花时间阅读/思考的人。

4

1 回答 1

2

试试 HTMLEncode 单元 HTTPApp:

Response.Content := Response.Content + HTMLEncode('...');
于 2011-05-27T19:40:10.420 回答