问题描述
|
我有一个使用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\'\',\'\'DD-MM-YYYY\'\');</script>\';
脚本标记将从最终输出中删除。
作为测试,我添加了一个带有button3ѭ事件集的HTML按钮,如下所示:
Response.Content := Response.Content + \'<input type=\"button\" onClick=\"alert(\'\'Hello World\'\')\" Value=\"Hello World\"/>\';
并且在检查页面源时
alert(\'\'Hello World\'\')
已经变成
alert('Hello World')
我想知道单引号从\'到'
的转换吗?可能导致我的早期脚本标签被删除了?
任何帮助/指针表示赞赏,谢谢。
*编辑
我应该指出,即使使用'
字符,“警报”弹出窗口也可以使用。
*编辑
我尝试使用$(document).ready(function(){etc});之类的JQuery脚本;并且有效,所以我想问题不在于Webbroker输出。感谢所有花时间阅读/思考的人。
解决方法
尝试使用HTMLEncode单元HTTPApp:
Response.Content := Response.Content + HTMLEncode(\'...\');