javascript - saveTable函数怎么写?

标签 javascript jquery html

function createTable(){
    var _table = document.getElementById("test");
    var newRow = _table.insertRow(1);
    var cell0 = newRow.insertCell(0);
    var cell1 = newRow.insertCell(1);
    cell0.innerHTML = "x";
    cell1.innerHTML = 60;
    }

function saveTable(){
   document.execCommand("saveas",,"/tmp/test.html");
    }
<p>to create my table</p>
<input type="button" value="to create new table" onclick="createTable()" />
<input type="button" value="to save table as /tmp/test.html" oncilck="saveTable()" />
<table id="test" bodrder=1px>
<tr>
    <td>f1</td>
    <td>f2</td>
</tr>
</table>

当通过函数createTable创建表时,我想得到一个文件/tmp/test.html,其内容如下

<table id="test">
<tr>
<td>f1</td>
<td>f2</td>
</tr>
<tr>
<td>x</td>
<td>60</td>
</tr>
</table>

如何实现我的 saveTable 函数来完成这项工作?

最佳答案

您可以使用 blob 来实现此目的,如下所述:

https://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/

这里:

How to export source content within div to text/html file

<!DOCTYPE html>

<html>
<head>

 
  <title></title>
</head>

<body>
  <p>to create my table</p>

  <form>
    <input type="button" value="to create new table" onclick="createTable()"> <input type="button" value=
    "to save table as /tmp/test.html" onclick="saveTable()">
  </form>

  <table id="test" bodrder="1px">
    <tr>
      <td>f1</td>

      <td>f2</td>
    </tr>
  </table>
  
  
   <script>
function createTable() {
	var _table = document.getElementById("test");
	var newRow = _table.insertRow(1);
	var cell0 = newRow.insertCell(0);
	var cell1 = newRow.insertCell(1);
	cell0.innerHTML = "x";
	cell1.innerHTML = 60;
}

function saveTable() {
	var textToSave = document.getElementById("test").outerHTML;
	var textToSaveAsBlob = new Blob([textToSave], {
			type : "text/html"
		});
	var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob);
	var fileNameToSaveAs = "/tmp/test.html";

	var downloadLink = document.createElement("a");
	downloadLink.download = fileNameToSaveAs;
	downloadLink.innerHTML = "Download File";
	downloadLink.href = textToSaveAsURL;
	downloadLink.onclick = destroyClickedElement;
	downloadLink.style.display = "none";
	document.body.appendChild(downloadLink);

	downloadLink.click();
}

function destroyClickedElement(event) {
	document.body.removeChild(event.target);
}

  </script>

  
</body>
</html>

关于javascript - saveTable函数怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40190046/

相关文章:

javascript - JavaScript 引擎会优化闭包中定义的常量吗?

jquery - 我们如何使用手机间隙在移动应用程序上为 HTML 元素制作工具提示?

html - css 框模型列高度重叠

html - Pur input radio in circle with CSS radio customizing

javascript - 如何隐藏单选按钮选择的输入字段

javascript - 如果 div 为空则隐藏按钮

jquery 和 php 表单验证

jquery - 如何让子元素可见不可见维护正确的父子关系

javascript - 返回顶部按钮未正确触发

javascript - 使用 Plotly 定义饼图切片颜色