我正在创建一个动态形式的基础设施。该基础设施将获取特定的 XML,其中包括所有表单数据,从页面中的订单到验证器。
动态页面还可能包含需要某种验证的字段。验证不仅是微不足道的(例如“数字”\“字母数字”),它可能更复杂。
这就是为什么我想在我的 XML 中传递验证器 javascript。
在传统的 Web 应用程序上进行开发时,将此代码植入页面标题中很简单。但我不知道在使用 MVC3 时该怎么做,因为它不是一个普通的客户端-服务器应用程序。
解释一下很重要 - 在我的 Controller 中,我将这个动态表单类传递给 xml 文件,它完成了所有应该做的事情,最后,我将结果放入 ViewBag.table 中。
有人知道如何从 Controller 中植入 JavaScript 代码来查看标题吗?
编辑:
我尝试了以下方法:
$(document).ready(function () {
$.ajax({
url: '@Url.Action("SetJScript", "MyPages")',
type: 'POST',
success: function (result) {
var myscript = document.createElement('script');
myscript.setAttribute('type', 'text/javascript');
myscript.innerHTML = '$( document ).ready( function ( e ){' + result + '});';
document.getElementsByTagName('head').item(0).appendChild(myscript);
}
});
还有:
$(document).ready(function () {
$.ajax({
url: '@Url.Action("SetJScript", "MyPages")',
type: 'POST',
success: function (result) {
var myscript = document.createElement('script');
myscript.setAttribute('type', 'text/javascript');
myscript.innerHTML = "function test() {alert('aa');}";
document.getElementsByTagName('head').item(0).appendChild(myscript);
}
});
或更改:
myscript.innerHTML = "function test() {alert('aa');}";
至:
myscript.innerHTML += "function test() {alert('aa');}";
因此它将被添加到现有的“$documnet.ready”函数中。 这些都不起作用。 我不断收到“未知错误”
谢谢大家。
最佳答案
希望有帮助..
$(document).ready(function () {
$.ajax(
{ url: '@Url.Action("SetJScript", "MyPages")',
type: 'POST',
success: function(result)
{ var myscript = document.createElement('script');
myscript.setAttribute('type','text/javascript');
myscript.innerHTML = 'function test() {alert("aa");}';
document.getElementsByTagName('head').item(0).appendChild(myscript);
} //end of success
});
});
关于javascript - 在mvc3中动态添加javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15549810/