将页面保存为html以及内容

时间:2014-07-20 02:42:05

标签: javascript html html5 forms

我有一个简单的JS函数,允许用户输入他们的名字和姓氏,onclick显示他们的全名。

当用户将页面保存为html并重新打开时,有没有办法在文本字段中包含用户提交的内容?

function getFullName() {

    var firstName, lastName, fullName;

    firstName = document.Application.txtFirstName.value; 
    lastName  = document.Application.txtLastName.value;
    fullName  = firstName + " " + lastName;
    document.Application.txtFullName.value = fullName;
}

1 个答案:

答案 0 :(得分:1)

最简单的解决方法是,如果用户将文本输入input元素,然后在提交之前将页面打印为PDF(Menubar > File > Print > Save as PDF等),则其内容将包含在结果PDF文件。那会有帮助吗?

否则,您可以在click的{​​{1}}上编写要执行的函数,并首先使该函数preventDefault(阻止它重新加载页面并清除表单字段,如果是button),然后让它将自己的名字写入变量并提示他们保存页面:

http://jsbin.com/yelun/1/edit

type="submit"

此外,您可以尝试将您的按钮包裹在<form id="nameForm"> First Name<br /> <input type="text" name="first" /><br /> <br /> Last Name<br /> <input type="text" name="last" /><br /> <br /> <button type="submit" onclick="processForm(event)">Submit</button> </form> var processForm = function(event) { event.preventDefault(); var form = document.getElementById('nameForm'); var firstName = form.first.value; var lastName = form.last.value; var fullName = firstName + ' ' + lastName; alert('Hello, ' + fullName + '. Please now save this page as HTML via your browser\'s `File` menu.'); }; a元素中,并将该元素area设置为您网页的网址,并在该元素中添加download attribute 。这不是我可以在通用在线沙箱中轻松演示的内容,而是href属性:

  

...表示作者打算使用超链接来下载资源。

基本上,它使浏览器下载链接位置,而不是将浏览器导航到链接位置。

如果您无法根据自己的喜好将download或其buttona文本包裹起来,则可以创建,设置样式并编写{{1}脚本看起来像area,并将div包裹在buttondiv中。