WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:固定長テキストファイルの作成について

0:[投稿] ゆか [2003/12/05 23:45 ][環境:IE5、、 ソラリス?、JAVASCRIPT、JSP]

タイトルそのままなのですが、
いくつかのテキストボックスがあって、そこに入力された値を
拡張子は、 .txt  で
固定長のファイルでローカルに保存したいです。
できれば、ボタンを押したらダイアログを表示させ、そこで保存するフォルダを選び、ファイルを保存したいです。

そんなことJAVASCRIPTでできるのでしょうか??

教えてください
よろしくお願いします


1:[回答] うみ [2003/12/06 00:01 ]

WindowsマシンでVBScriptを使えば可能です。
保存するのがサーバーかクライアント側なのか、ローカル処理なのか条件がわからないので、これ以上は答えようがありません。


2:[回答] うみ [2003/12/06 00:05 ]

>>1
すみません。保存はローカルにということでしたね。
上記を、オンライン処理かオフライン処理かわからないので…と読み替えてください。


3:[質問] ゆか [2003/12/06 00:10 ]

早速のお返事ありがとうございます。
オンライン処理でです。

JAVAを使っているので、
VBSCRIPTでもかまわないのですが、サーバー側での処理はできないですよね?
現在サーバー側の処理はJSPでやっています。


4:[質問] ゆか [2003/12/06 00:10 ]

早速のお返事ありがとうございます。
オンライン処理でです。

JAVAを使っているので、
VBSCRIPTでもかまわないのですが、サーバー側での処理はできないですよね?
現在サーバー側の処理はJSPでやっています。

よろしくお願いします


5:[回答] うみ [2003/12/06 00:32 ]

オンライン処理でもクライアント側がIEを使うというのであれば、VBScriptを使えば実現できます。ただし、その都度セキュリティに関しての警告メッセージが表示されます。
VBScriptでのテキストファイルの読み書きは、リファレンス等を検索していただければ簡単に見つかると思います。
Javaアプレットを使えば可能かもしれませんが、詳しくないので他の方の回答を待ってください。
JavaScriptでは、できないと考えてください。

ソラリスもJSPも経験がないので、サーバー側での処理については他の方の回答を待ってください。


6:[回答] Jankowski [2003/12/06 02:45 ]

JavaScriptのみではできませんが、フレームと空のテキストファイルと
document.execCommand("SaveAs")を使えばIEで可能です。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
    <title>テキストデータをファイル保存ダイアログを表示してローカルに保存する</title>
    <script type="text/javascript"><!--
    function dSave(data)
    {
        var fr=self.frSave.document;
        fr.innerText=data;
        fr.execCommand("SaveAs");
    }
    //--></script>
</head>
<body>

    <form name="myForm" onsubmit="return false">
        
        <input type="text" name="textData" value="" size="30">
        <input type="button" value="ファイルの保存ダイアログで保存する" onclick="dSave(this.form.textData.value)">
    </form>
    
    <IFRAME src="dummy.txt" name="frSave" style="visibility:hidden" width="0" height="0"></IFRAME>

</body>
    
</html>


このHTMLのほかに、何も書かれていないtxtファイルを用意してください。
そしてそのファイルを IFRAME src="dummy.txt" の部分で読み込みます。
保存時のデフォルトのファイル名は用意したtxtファイルを同じになります。

ファイル保存ダイアログの初期表示フォルダを、スクリプト等から指定・変更することはできません。


7:[回答] Jankowski [2003/12/06 02:47 ]

補足です。

保存した / 保存しなかった
の確認はJavaScriptでは不可能です。


8:[回答] Jankowski [2003/12/06 03:26 ]

>>6
は間違いでした。無視してください。
HTML部分はこうでした。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="ja">
<head>
    <title>テキストデータをファイル保存ダイアログを表示してローカルに保存する</title>
    <script type="text/javascript"><!--
    function dSave(data)
    {
        var fr=self.frSave.document;
        fr.write(data);
        fr.execCommand("SaveAs");
    }
    //--></script>
</head>
<body bgcolor="#ffffff" text="#000000">

    <form name="myForm" onsubmit="return false">
        <input type="text" name="textData" value="" size="30">
        <input type="button" value="ファイルの保存ダイアログで保存する" onclick="dSave(this.form.textData.value)">
    </form>
    
    <iframe name="frSave" style="visibility:hidden" width="0" height="0"></iframe>

</body>
    
</html>


dummy.txtは不要です。
txt形式ではなく、htm形式での保存となります。(汗
保存時のデフォルトのファイル名は上記HTMLファイルと同じになります。

さらに、保存ダイアログで文字コードをUnicode以外にすると正常に保存されません。(バグかな汗

ほとんど使えないですね・・・。どうもすみません。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World