我正在尝试创建一个表单,用户可以输入数据,然后当他们点击提交时,该数据将作为新行添加到存储在服务器上的csv文件中,我随后可以下载。我已经尝试了一些PHP和JavaScript,两者似乎都不错,但我对两者都不是很有经验。
以下是基本的HTML表单:
JavaScript代码位于HTML文件的头部,如下所示:
“现在我有
如果我做错了,你能指点我走另外一个方向吗?不过,最终我想要做的是以某种方式保存表单数据,而我认为这比设置 SQL 数据库要容易些,因为我以前从未这样做过。
以下是基本的HTML表单:
<form name="xyz_form">
<section class="border-bottom">
<div class="content">
<h3>ID Number</h3>
<div class="form-control-group">
<div class="form-control form-control-number">
<input type="number" id="id_number">
</div>
</div>
<h3>First Name</h3>
<div class="form-control-group">
<div class="form-control form-control-text">
<input type="text" id="first_name">
</div>
</div>
</div><!--.content-->
<section class="data-capture-buttons one-buttons">
<div class="content">
<input type="submit" value="Submit" onClick="javascript:addToCSVFile()">
</div>
</section><!--.data-capture-buttons-->
JavaScript代码位于HTML文件的头部,如下所示:
<script type="text/javascript">
function addToCSVFile() {
var csvData = new Array(); // To collect the names
var csvFilePath = "Data.csv"; // File name
// Collect General Information
csvData[0] = document.getElementById('id_number').value;
csvData[1] = document.getElementById('first_name').value;
var fso = new ActiveXObject('Scripting.FileSystemObject');
var oStream = fso.OpenTextFile(csvFilePath, 8, true, 0);
oStream.WriteLine(csvData.join(','));
oStream.Close();
clearData();
alert("Data Added Successfully");
}
function clearData() {
document.getElementById('id_number').value = "";
document.getElementById('first_name').value = "";
}
</script>
“现在我有
onClick="javascript:addToCSVFile()">
,但是当我将表单操作设置为handler.php文件并且方法设置为post并删除onlick时,它也无法工作。这是php文件。” <?
if(isset($_POST['match_scouting'])){
$del = "\t";
//Collect Info
$data[1] = $_POST['id_number'];
$data[2] = $_POST['first_name'];
$file = fopen("Data.csv", "a");
$data = "\r\n".implode($del, $data);
fwrite($file, $data);
fclose($file);
echo "The data has been added successfully";
}else{
header("location: form.html");
}
?>
如果我做错了,你能指点我走另外一个方向吗?不过,最终我想要做的是以某种方式保存表单数据,而我认为这比设置 SQL 数据库要容易些,因为我以前从未这样做过。
method =“post”
,否则不起作用。 - Funk Forty Niner