Javascript 无权在硬盘驱动器中写入文件。但是,您可以捕获数据、制作模型,然后使用 ajax 调用将其存储在服务器中。
一些想法:
- 使用在整个应用程序视图中呈现的布局或母版页。
- 为所有页面标签、按钮、复选框和您需要存储信息的任何内容提供相同的类名。
- 在主/布局页面中使用一些 jquery 魔法来获取这些元素的值并创建一个数组。
- 通过 ajax 调用将该数组发送到服务器。
现在您可以获得大量关于如何使用 jquery 获取元素值的示例。我要让你免于付出这一切。希望对您有所帮助... :D
//编辑:我正在尝试按照史蒂夫的要求扩展我的答案。
<form action="someAction" id="myForm">
Name: <input type="text" class="Name">
Checkbox: <input type="checkbox" class="ChBox"/>Click this box
RButton: <input class="Rbutton" type="radio" />
Submit: <input type="submit" class="submit"/>
</form>
现在一些jQuery:
$(function() {
$(".submit").click(function(){
var dataToSend = new Object();
dataToSend.pageUrl = window.location.pathname + " is displayed";
if ($(".Name").val().length > 0) {
dataToSend.Name = "Field Name is set successfully";
}
else {
dataToSend.Name = "Field Name is empty";
}
if($(".ChBox").is(':checked')){dataToSend.ChBox = "ChBox is enabled successfully";}
else{dataToSend.ChBox = "ChBox is not enabled";}
if($(".Rbutton").is(':checked')){dataToSend.Rbutton = "Rbutton is enabled successfully";}
else{dataToSend.Rbutton = "Rbutton is not checked";}
dataToSend.Submit = $("#myForm").attr['action'] + " is displayed";
});
//now send it to the server via ajax
$.ajax({
type: "POST",
url: "your server action url that would make excel file with these data",
data: dataToSend,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
//do as you wish
}
});
});