Javascript 将json转换为JS/C#/MVC4中的csv文件并填充AccessDB
我的网站有问题。 我目前有一份申请表,提交了申请表,并发送了一封电子邮件。 我希望我能创建一个csv文件来发送表单。其次,通过这个CSV文件自动填充我的数据库访问 我的ASP表单:Javascript 将json转换为JS/C#/MVC4中的csv文件并填充AccessDB,javascript,c#,asp.net-mvc,json,csv,Javascript,C#,Asp.net Mvc,Json,Csv,我的网站有问题。 我目前有一份申请表,提交了申请表,并发送了一封电子邮件。 我希望我能创建一个csv文件来发送表单。其次,通过这个CSV文件自动填充我的数据库访问 我的ASP表单: <div class="submit"> <div class="left"> <div class="field"><input id="inputFirstname" type="text" value="First name *" class="
<div class="submit">
<div class="left">
<div class="field"><input id="inputFirstname" type="text" value="First name *" class="watermark" name="firstname"/></div>
<div class="field"><input id="inputLastname" type="text" value="Last name *" class="watermark" name="lastname"/></div>
<div class="field"><input id="inputEmail" type="text" value="E-mail *" class="watermark" name="email"/></div>
<div class="fieldradio" style="margin-bottom:10px;">
<label class="watermark" style="display:inline">Gender *</label>
<input id="inputGenderM" class="watermark" style="display:inline;width: 10px" name="gender" type="radio" />
<label class="watermark" style="display:inline">M</label>
<input id="inputGenderF" class="watermark" style="display:inline;width: 10px" name="gender" type="radio" />
<label class="watermark" style="display:inline">F</label>
</div>
</div>
<div class="right">
<div class="textarea"><textarea id="inputMessage" name="message" class="watermark">Add your message here</textarea></div>
<div style="float:left;width:100%; margin-top:30px;">
<div id="captchadiv"><input id="captchaInput" type="text" value="Enter validation text *" name="captchaInput" class="watermark" style="margin-top:10px;"/></div>
</div>
<div class="clear"></div>
<div class="submit_container" id="submitArea">
<a onclick="javascript:submitCV();" class="btn orange height_19 submit"><span>
SEND FORM</span></a>
</div>
</div>
性别*
M
F
在此处添加您的消息
发送表格
我的函数JS“submitCV()”:
$(文档)。准备好了吗(
函数(){
$.getJSON('http://jsonip.appspot.com/?callback=?',
功能(数据){
clientIP=data.ip;
});
函数submitCV(){
if($(“#inputFirstname”).val()==false)
{
$('#inputFirstname').addClass('errorValidationSubmit');
警报(“请填写名字字段”);
返回;
}
if($(“#inputLastname”).val()==false)
{
$('#inputLastname').addClass('errorValidationSubmit');
警报(“请填写姓氏字段”);
返回;
}
var genderId=$('input[name=gender]:checked').attr('id');
if(typeof genderId==“未定义”)
{
$('.fieldradio').addClass('errorValidationSubmit');
警告(“请选择性别”);
返回;
}
if(validateEmail($(“#inputEmail”).val())==false)
{
$('#inputEmail').addClass('errorValidationSubmit');
警报(“无效的电子邮件地址”);
返回;
}
if($(“.submit.dropdown dt a”).attr('href')==“#”){
$('.submit.dropdown').addClass('errorValidationSubmit');
警报(“请选择一个空缺职位”);
返回;
}
if($(“#captchaInput”).val()==false | |$(“#captchaInput”).val().length!=5)
{
$('#captchaInput').addClass('errorValidationSubmit');
$('.realperson text').addClass('errorValidationSubmit');
警报('请用验证码(5个字符)填写验证文本字段');
返回;
}
变量路径=$(位置).attr('href');
var capchallenge=cleanJSONString($(“.realperson hash”).val();
//retaptcha.get_challenge();
var capresponse=cleanJSONString($(“#captchaInput”).val();
//retaptcha.get_response();
试一试{
变量参数='{“url”:“'+转义(路径)+
“,“clientip”:“+clientip”+
“,“firstname”:“+cleanJSONString($(“#inputFirstname”).val())+
“,“lastname”:“+cleanJSONString($(“#inputLastname”).val())+
“,“性别”:“+cleanJSONString(genderId)+
“,“email”:“+cleanJSONString($(“#inputeemail”).val())+
“,”消息“:“+cleanJSONString($(“#inputMessage”).val())+
“,”位置“:“+cleanJSONString($(“.submit_cv.dropdown dt a”).attr('href'))+
“,“captchachallenge”:“+capchallenge+
“,“CaptCharResponse”:“+capresponse+”}”;
contentSubmit=$(“#submitArea”).html();
$(“#submitArea”).empty().html(“”);
jQuery.ajax({
类型:“POST”,
url:“\u vti\u bin/json/monservice.svc/submit”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:参数,
成功:功能(msg){
提交成功(msg);
$(“#submitArea”).empty().html(contentSubmit);
resetRealPersonCaptcha();
警报(参数);
},
错误:提交失败
});
}
捕获(e){
警报(“调用服务时出错”+e);
clearUploadPart();
}
//Recaptcha.reload();
}
功能提交成功(结果){
警报(结果。提交结果);
如果(!result.submitResult.contains(“验证码验证不起作用,请重试”)){
clearUploadPart();
}
}
函数提交失败(错误){
警报('发生错误');
//clearUploadPart();
resetRealPersonCaptcha();
$(“#submitArea”).empty().html(contentSubmit);
}
是否有一个相对快速的机会创建一个CSV文件存储在一个地方?
你推荐什么
另一方面,我希望每个新的CSV文件都可以填充Access数据库。
如果我的CSV文件位于FTP文件夹中,您可以使用Unix脚本或简单的VB?如果您能够从表单中获取JSON数据,请使用以下方法JSONTOCSVConverter:
function JSONToCSVConvertor(JSONData, ReportName, ShowLabel) {
//If JSONData is not an object then JSON.parse will parse the JSON string in an Object
var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
var CSV = '';
if (ShowLabel) {
var row = "";
//This loop will extract the label from 1st index of on array
for (var index in arrData[0]) {
//Now convert each value to string and comma-seprated
row += index + ',';
}
row = row.slice(0, -1);
//append Label row with line break
CSV += row + '\r\n';
}
//1st loop is to extract each row
for (var i = 0; i < arrData.length; i++) {
var row = "";
//2nd loop will extract each column and convert it in string comma-seprated
for (var index in arrData[i]) {
row += '"' + arrData[i][index] + '",';
}
row.slice(0, row.length - 1);
//add a line break after each row
CSV += row + '\r\n';
}
if (CSV == '') {
alert('No data available');
return;
}
//this will remove the blank-spaces from the title and replace it with an underscore
var fileName = ReportName.replace(/ /g, "_");
//Initialize file format you want csv or xls
var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);
//this trick will generate a temp <a /> tag
var link = document.createElement("a");
link.href = uri;
//set the visibility hidden so it will not effect on your web-layout
link.style = "visibility:hidden";
link.download = fileName + ".csv";
//this part will append the anchor tag and remove it after automatic click
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
函数JSONTCSVCONVERTOR(JSONData、ReportName、ShowLabel){
//如果JSONData不是对象,那么JSON.parse将解析对象中的JSON字符串
var arrData=typeof JSONData!=“object”?JSON.parse(JSONData):JSONData;
var CSV=“”;
如果(显示标签){
var行=”;
//此循环将从数组的第一个索引中提取标签
对于(arrData[0]中的var索引){
//现在将每个值转换为字符串和逗号分隔符
行+=索引+',';
}
row=row.slice(0,-1);
//用换行符追加标签行
CSV+=行+'\r\n';
}
//第一个循环是提取每一行
对于(变量i=0;ifunction JSONToCSVConvertor(JSONData, ReportName, ShowLabel) {
//If JSONData is not an object then JSON.parse will parse the JSON string in an Object
var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
var CSV = '';
if (ShowLabel) {
var row = "";
//This loop will extract the label from 1st index of on array
for (var index in arrData[0]) {
//Now convert each value to string and comma-seprated
row += index + ',';
}
row = row.slice(0, -1);
//append Label row with line break
CSV += row + '\r\n';
}
//1st loop is to extract each row
for (var i = 0; i < arrData.length; i++) {
var row = "";
//2nd loop will extract each column and convert it in string comma-seprated
for (var index in arrData[i]) {
row += '"' + arrData[i][index] + '",';
}
row.slice(0, row.length - 1);
//add a line break after each row
CSV += row + '\r\n';
}
if (CSV == '') {
alert('No data available');
return;
}
//this will remove the blank-spaces from the title and replace it with an underscore
var fileName = ReportName.replace(/ /g, "_");
//Initialize file format you want csv or xls
var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);
//this trick will generate a temp <a /> tag
var link = document.createElement("a");
link.href = uri;
//set the visibility hidden so it will not effect on your web-layout
link.style = "visibility:hidden";
link.download = fileName + ".csv";
//this part will append the anchor tag and remove it after automatic click
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
<div class="submit_container" id="submitArea">
<a onclick="javascript:submit();" class="btn orange height_19 submit"><span>
SEND FORM</span></a>
</div>
$(function() {
$('form').submit(function() {
$('#result').text(JSON.stringify($('form').serializeObject()));
return false;
});
});