Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
556 views
in Technique[技术] by (71.8m points)

javascript - how to load the text in another textarea where the textarea is within iframe

in the below code plz tell me how to load the text in textarea where the textarea path is parent.frame_name1.iframe_name1.form_name1.textarea_name1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Local File I/O</title>
    <script type="text/javascript">
    <!-- // Begin
    var ForReading = 1,
        ForWriting = 2,
        ForAppending = 8;
    var objFSO = new ActiveXObject("Scripting.FileSystemObject");

    function checkText(fld, btn) {
        btn.disabled = false;
        fld.onkeypress = null;
        return true;
    }

    function checkFile(obj, div, btn, btn2, fld) {
        div.innerHTML = '<p><b>File:</b><br><b>Size:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Last Modified:</b></p>';
        btn.disabled = true;
        btn2.disabled = true;
        fld.value = '';
        fld.onkeypress = new Function("return checkText(" + "document." + fld.form.name + "." + fld.name + "," + "document." + btn2.form.name + "." + btn2.name + ")");
        //
        // if (obj.value.indexOf(":") != 1) {
        // alert("Local file name must include a drive letter.");
        // return false;
        // }
        var ary = obj.value.split("");
        if (ary.length < 2) {
            alert("Local file name must include a path.");
            return false;
        }
        if (!/(.txt)$/i.test(obj.value)) {
            alert("Local file name must include the '.txt' extension.");
            return false;
        }
        //
        try {
            objFile = objFSO.GetFile(obj.value);
        } catch (e) {
            if (e.message != "File not found") {
                alert(e.message);
                return false;
            } else {
                try {
                    if (confirm(obj.value + "
" + "does not exist. Click 'Ok' to create it.")) {
                        objFile = objFSO.CreateTextFile(obj.value);
                        objFile.Close();
                        objFile = objFSO.GetFile(obj.value);
                    } else {
                        return false;
                    }
                } catch (e) {
                    alert(e.message);
                    return false;
                }
            }
        }
        fileSpecs(div, btn);
        objFile = null;
        return true;
    }

    function fileSpecs(div, btn) {
        if (objFile.Size > 0) {
            btn.disabled = false;
        } else {
            btn.disabled = true;
        }
        var str = '<p>';
        str += '<b>File:</b> ' + objFile.Path + '<br>';
        str += '<b>Size:</b> ';
        if (objFile.Size < 1024) {
            str += objFile.Size + ' bytes';
        } else {
            str += (objFile.Size / 1024).toFixed(1) + ' Kbytes';
        }
        str += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
        str += '<b>Last Modified:</b> ' + objFile.DateLastModified;
        str += '</p>';
        div.innerHTML = str;
    }

    function loadFile(btn, obj, div, fld) {
        objFile = objFSO.GetFile(obj.value);
        objStream = objFile.OpenAsTextStream(ForReading);
        fld.value = objStream.ReadAll();
        objStream.Close();
        objStream = null;
        fileSpecs(div, btn);
        objFile = null;
        return true;
    }

    function saveFile(btn, obj, div, fld, btn2) {
        btn.disabled = true;
        objFile = objFSO.GetFile(obj.value);
        objStream = objFile.OpenAsTextStream(ForWriting);
        objStream.Write(fld.value);
        objStream.Close();
        objStream = null;
        objFile = objFSO.GetFile(obj.value);
        fileSpecs(div, btn2);
        objFile = null;
        fld.value = '';
        fld.onkeypress = new Function("return checkText(" + "document." + fld.form.name + "." + fld.name + "," + "document." + btn.form.name + "." + btn.name + ")");
        return true;
    }
    // End -->
    </script>
    </head>

    <body>
    <center>
    <form name="myForm" onsubmit="return false;">
    <table width="720">
    <tr>
    <td colspan="4">
    <div id="fileSpec">
    <p><b>File:</b><br><b>Size:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Last Modified:</b></p>
    </div>
    </td>
    </tr>
    <tr>
    <td colspan="3" width="580" align="center" valign="top">
    <textarea rows="25" name="fileArea" cols="70"
    onkeypress="return checkText(this, btnSave);"></textarea> </td>
    <td rowspan="2" width="140" valign="top"><p>This is a simple demonstration of
    a browser-based local text file editor.&nbsp; Begin by clicking the <b>Browse</b>
    button to select an existing text file from your local hard drive.&nbsp;
    (In the Browse dialog, you may type in a new file name if
    desired.)&nbsp; The selected file information is then displayed at the
    top of the page.&nbsp; For an existing file, click the <b>Load</b>
    button next.&nbsp; After editing, click the <b>Save</b> button to
    complete the demonstration.</p></td>
    </tr>
    <tr>
    <td align="left">
    <input type="file" name="fileName" size="50"
    onchange="return checkFile(this, document.getElementById('fileSpec'), btnLoad, btnSave, fileArea);"> </td>
    <td align="center">
    <input type="button" name="btnLoad" value="Load" disabled
    onclick="return loadFile(this, fileName, document.getElementById('fileSpec'), fileArea);"> </td>
    <td align="center">
    <input type="button" name="btnSave" value="Save" disabled
    onclick="return saveFile(this, fileName, document.getElementById('fileSpec'), fileArea, btnLoad);"> </td>
    </tr>
    </table>
    </form>
    </center>

    </body>
    </html>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Are you meaning that the filename what you want to load is contained in parent.frame_name1.iframe_name1.form_name1.textarea_name1 ? In this case you should change the <input type="file"/> value dynamically, which is not supported by browsers (it would be a security issue).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...