We help IT Professionals succeed at work.

saveas execCommand with own interface

wjdashwood
wjdashwood asked
on
2,513 Views
Last Modified: 2007-12-19
I would like to use execCommand('saveas') but not have the dialog box pop up.

I know by putting execCommand(SaveAs, false, tempcontent.php); perhaps would work, but it doesn't seem to in my code. I figure the format of the filename can't be right or something.  

Can anyone give me a clue as to what the filename should be. I do want it to be exactly the same everytime this command is used, but I don't really care what it is called, as long as I know.

Thanks,
H
Comment
Watch Question

CERTIFIED EXPERT
Author of the Year 2009

Commented:
It is not possible to avoid the prompt.  That would be a security breach since you could overwrite an important systen file.

This link shows a workaround:
      http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=unUk16U0CHA.428%40TK2MSFTNGP09

It uses the FileSystemObject to save the HTML.   Since that is an ActiveX object, the user will be proyed about using "unsafe objects" so there is still a prompt.

Best to just let the prompt come up.  The user will be promyed, but he will neeed only click the [OK] button.  It is always good to let the user know that you are saving data to his hard disk.

function DoTest() {
      document.execCommand( 'saveas', false, "c:\\temp\\pg.htm" )
}

-- Dan

Author

Commented:
I don't want to save it to the user's hard disk. I want to save it to a directory hosted at the location of the website.  

What I need is a way of getting all of the data in the editable area and saving it to a file or to a variable.  It doesn't have to be the saveas command, I just thought that would be a handy way of getting all of the data in the editable area, I need the html code to be saved somehow.

Do you have any other suggestions on how I can do it. I don't want the user to be prompted though. They will press the save button and this will start the process. If I wanted a prompt I would create my own to fit with the design of the page.

Thanks,
H
CERTIFIED EXPERT
Author of the Year 2009

Commented:
If you want to allow the user to upload a file to your server, that is an entriely different issue!

Just use
<FORM method=post ENCTYPE="multipart/form-data" action=your_url >
        <input type=file name="TheFile">
</FORM>

in your HTML.  It displays a textbox and a [Browse...] button.

See:
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/input_file.asp

The server will need to be able to handle uploads, but all servers can do that these days.

-- Dan

Author

Commented:
The problem is that I have no way of collecting the data. Originally I display it by outputting two variables, one with the css and one with the main html, but as soon as I make a change the variables no longer hold the data. The only way I can think of getting the data back, is by using an execCommand function to save it or select it and somehow copy it. The data is not in a form it is just held within a <div></div>
CERTIFIED EXPERT
Author of the Year 2009

Commented:
I don't understand you last comment at all.  First you want to know how to download a file and then you want to know how to upload a file, and now there is something about variables and <div> tags....

If you need to maintiain some information on the client machine, the way to do that is to create and save a "cookie"  Use the

     document.cookie

object to do that.  See:
      http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/cookie.asp

Author

Commented:
I need to somehow save the data which is held in an editable area of a page. I thought this could be done using the saveas function, but apparently not, as I can't do that without a dialog box popping up. So I am now looking for other ways of getting the information.

There is another execCommand which is called selectall. I was considering using this and then somehow getting the selected part into a variable or file. Can this be done?

I already use cookies but it isn't really relevant to what I am doing in this bit.

Sorry I'm struggling to explain exaclty what I'm doing. Thanks for keeping with it.
CERTIFIED EXPERT
Author of the Year 2009
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.