你好我的朋友 我是相當新的JavaScript和HTML,所以這個項目需要比我可能需要更長的時間。 這是問題所在,我想將表格的內容保存到文本文件中。我無法將HTML表格的內容保存到文本文件中。使用CGI和PERL
這裏是形式
print start_form(-action=>"",-onSubmit=>"return false;");
print table({-border=>1,-cellpadding=>3,-name=>"tabla",-id=>"tab"},
th(["Matricula","Nombre","Apellido Paterno","Apellido Materno","Sexo","Edad","Carrera","Email",
"Materias","Promedio","Borrar"]));
print submit(-label=>'Guardar',-onClick=>'salvar();',-onSubmit=>"salvar(); return false;");
print hidden(-name=>'escondido',-id=>'hid',
-default=>['0']);
print hidden(-name=>'escondido2',-id=>'hid2',
-default=>['nadiemeve2']);
print end_form;
行添加到它讀取使用JavaScript文件表中的代碼,所以當我想要顯示的表中的內容保存到一個文本文件,我做此:
if (param) {
open FT, "+>>".param('escondido2') or die "No se puede abrir el archivo";
print FT param('celda60');
close FT;
}
在這裏,「celda60」是一個字段內的文本字段單的名稱,因爲在創建單元的名稱中給出。你可能注意到,我只是試圖保存一個單元格作爲測試,事情是,它不起作用。它並不拯救一件事。但如果我這樣做: print FT param('celda60')。「TEST」; 它在我的文件中保存的唯一的事情就是TESTESTESTEST,所以問題肯定在參數(「celda60」) 如果你想知道「salvar()」看起來像這樣
function salvar(){
var table2 = document.getElementById('tab');
var rowCount2 = table2.rows.length - 1;
document.getElementById('hid').value=rowCount2; }
它的唯一的事情就是獲取行數,所以當我進行保存時,我可以通過執行幾個循環來保存每個單元格的每個文本字段內的內容。
任何想法,我在做什麼錯在這裏?我的意思是,除了很多基本的東西,我猜。
服務器日誌說什麼嗎?另外,你應該使用open-arg版本,例如「open FT」,「>>」,param('escondido2')或者死亡$ !;「你目前的版本讓你遭受shell注入攻擊。並且使用'>>'而不是'+ >>',因爲無論如何您都不是從文件中讀取數據。 – DavidO 2011-05-19 08:40:28
感謝您的建議,對不是我不擔心安全問題,但這很好。我使用了+ >>,因爲我只是從同一個項目中的另一個文件中複製它,並忘記了'+'這是沒有必要的 – Jmex 2011-05-19 13:48:32