動的フォーム インフラストラクチャを作成しています。このインフラストラクチャは、ページ内の順序からバリデータまで、すべてのフォーム データを含む特定の XML を取得します。
動的ページには、何らかの検証が必要なフィールドが含まれている場合もあります。検証は単純なだけでなく ("numeric"\"alphanumeric" など)、より複雑なものになる可能性があります。
そのため、バリデータの JavaScript を XML に渡したいと考えています。
従来の Web アプリケーションで開発する場合、このコードをページ ヘッダーに埋め込むのは簡単です。しかし、MVC3 は通常のクライアント サーバー アプリケーションではないため、MVC3 を使用する場合はどうすればよいかわかりません。
説明することが重要です。私のコントローラーでは、この動的フォーム クラスに xml ファイルを渡します。必要なすべての処理が行われ、最後に結果が ViewBag.table に格納されます。
コントローラーからヘッダーを表示するために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」関数に追加されます。どれもうまくいきませんでした。「不明なエラー」が表示され続けました
皆さん、ありがとうございました。