1

ここ数日、非常に大きなフォーム プロジェクトに取り組んでいます。私は最終的に、新しい表示ウィンドウを開くJavaScriptファイル内でテーブルを適切に機能させることができました。現在の問題は、私が作成した JavaScript 内で CSS コードを動作させることができないように見えることです。

誰もが「サーバーサイドスクリプトばかを使用するだけ」と考え始める前に、ファイルに関するいくつかの条件と情報があります。

  • 機密情報のリスクがあるため、ファイルはローカルでのみ実行されています。ここでも、サーバー アクセスのオプションはありません。コンピュータが置かれているイントラネットはすでに最高レベルのセキュリティであり、これは全社的なプログラムとは言えません。
  • 以下のコードは明らかに単純な形式の単なるデモです...
  • 実際のファイルには機密性の高い情報が 6 ページあります
  • このフォームの特定のフィールドのみが実際に収集されます (例: 住所は結果に表示されません)。
  • 表示ページには、見やすいように表にまとめられたデータが含まれます。
  • 特定の情報が適用される場合に簡単に検出できるように、元のフォームのデザインに合わせて css コマンドを作成できるようにする必要があります。
  • コードは次のとおりです。

    <html>
    <head>
    <title>Form Example</title>
    <script LANGUAGE="JavaScript" type="text/javascript">
    function display() {
    DispWin = window.open('','NewWin', 'toolbar=no,status=no,width=800,height=600')
    
    message = "<body>";
    message += "<table border=1 width=100%>";
    message += "<tr>";
    message += "<th colspan=2 align=center><font face=stencil color=black><h1>Results</h1><h4>one</h4></font>";
    message += "</th>";
    message += "</tr>";
    
    message += "<td width=50% align=left>";
    message += "<ul><li><b><font face=calibri color=red>NAME:</font></b> " +         document.form1.yourname.value + "</UL>"  
    message += "</td>"; 
    
    message += "<td width=50% align=left>";  
    
    message += "<li><b>PHONE: </b>" + document.form1.phone.value + "</ul>";
    message += "</td>";
    message += "</table>";
    message += "<body>";
    
    DispWin.document.write(message);
    DispWin.document.body.style.cssText = 'color:#blue;'; 
    }
    </script>
    </head>
    <body>
    <h1>Form Example</h1>
    Enter the following information:
    <form name="form1">
    <p><b>Name:</b> <input TYPE="TEXT" SIZE="20" NAME="yourname">
    </p>
    <p><b>Address:</b> <input TYPE="TEXT" SIZE="30" NAME="address">
    </p>
    <p><b>Phone: </b> <input TYPE="TEXT" SIZE="15" NAME="phone">
    </p>
    <p><input TYPE="BUTTON" VALUE="Display" onClick="display();"></p>
    </form>
    </body>
    </html>
    >
    
    4

    2 に答える 2

    1

    全体を JS として記述する代わりに、静的ページを呼び出すだけで、必要に応じてスクリプトで値を変更できます。

    たとえば、テンプレートを次のように作成します。

    whatever_after_post.html

    <SomeKindOfDocType>
    <html>
      <blahblah>
        <style> * { color: black} </style>
      </blahblah>
      <blahblah>
        <input type=text id="DatTing" />
      </blahblah>
    </html>
    

    次に、新しいウィンドウの作成を呼び出すページから、あなたが持っているのと同じ方法で...

    DispWin = window.open(...
    

    テンプレート ファイルを開き、DispWin への参照を使用してメソッドにアクセスし、他のページ ( window.getElementByIdvs DispWin.getElementById) で値を変更するのと同じように、そのテンプレートの値を変更します。HTML ファイル全体を、それを呼び出す JS 内の文字列として構築する理由はありません...これでは維持が難しくなり、現在遭遇しているような問題が発生することになります。

    于 2012-11-18T01:18:41.480 に答える
    0

    CSSにリンクするタグを作成できます

    于 2012-11-18T01:14:38.350 に答える