2015-10-14 29 views
1

我有以下程序的表单数据。 我有文本框来输入值。在我点击“提交”后输入这些内容后,它应该显示下面的输入值,并且文本框应该被重置。我可以输入另一组输入并可以提交。它应该显示在前一个之下。 现在,这是我面临的实际问题。有一个保存按钮。当我点击它,表格输入应该保存到我的电脑使用PHP ..但它不工作。它不会保存文件,它会在下面添加另一行..如何发布一个表到php并保存为一个文本文件

下面是我的html和php代码。请帮忙..!

HTML

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Form download</title> 
<script type="text/javascript" src="jquery-2.1.4.js"></script> 
<style> 
.results { 
    width: 600px; 
    margin-top: 30px; 
    text-align: center; 
    border: 1px solid #999; 
} 
</style> 
</head> 
<body> 
<form name="form" method="POST" action="excel.php" > 
    <table> 
    <tr> 
     <td style="text-align:left">Option 1</td> 
     <td><input type="text" id="text" name="option1" size="20"></td> 

     <td style="text-align:left">Option 2</td> 
     <td><input type="text" id="text" name="option2" size="20"></td> 
    </tr> 

     </table> 
    <br/> 
    <input type="submit" value="save" > 
    <div class="buttonHolder"> 
<input type="submit" name="submit" value="submit" onClick="insertData()" id="btn_s" /> 
     <input value="reset" type="reset" id="btn_i" /> 
    </div> 

</form> 
    <script> 

$(function insertData() { 
    $('form[name="form"]').submit(function(e) { 
    e.preventDefault(); 

     var name = $('input[name="option1"]').val(), 
     sName = $('input[name="option2"]').val(); 

     $('body').append('<table class="results">' 
          +'<tr>' 
          +'<th>Option 1</th>' 
          +'<th>Option 2</th>' 

          +'</tr>' 
          +'<tr>' 
          +'<td>'+name+'</td>' 
          +'<td>'+sName+'</td>' 
           +'</tr>' 

        + '</table>'); 
    // $('input[type="reset"]').click(function() { 
    // ($('#text').val()).remove(); 
    }); 
    }); 
</script> 

</body> 
</html> 

PHP

<?php 

$myfile = fopen("newFile.txt", "w") or die("Unable to open file!"); 
$txt= 'Option 1 ' ."\t" .'Option 2 ' ."\r\n" 
.$_POST['option1'] ."\t" .$_POST['option2']."\r\n" 
.$_POST['option3'] ."\t" .$_POST['option4'] ."\r\n".$_POST['option5'] ."\t" .$_POST['option6'] ."\r\n" ; 
fwrite($myfile, $txt); 
fclose($myfile); 
?> 

请帮助..我坚持这2天..

回答

0

它可能是这样的简单:

$header = "Option 1 \t Option 2\n"; 
file_put_contents("newFile.txt", $header, FILE_APPEND); 
foreach($_POST as $key => $value) { 
    file_put_contents("newFile.txt", $value."\n", FILE_APPEND); 
} 
+0

谢谢..但我认为有一个问题,也HTML部分..当我点击保存按钮它应该处理PHP部分ryt?但相反,它做'提交'按钮的一部分..! :( – Arjun

0

在HTML中,您需要更改类型从提交到按钮的'提交'按钮。并改变你的脚本 -

$(function insertData() { 
    $('#btn_s').on('click', function(e) { 

    var name = $('input[name="option1"]').val(), 
    sName = $('input[name="option2"]').val(); 

    $('body').append('<table class="results">' 
         +'<tr>' 
         +'<th>Option 1</th>' 
         +'<th>Option 2</th>' 

         +'</tr>' 
         +'<tr>' 
         +'<td>'+name+'</td>' 
         +'<td>'+sName+'</td>' 
          +'</tr>' 

       + '</table>'); 
    // $('input[type="reset"]').click(function() { 
    // ($('#text').val()).remove(); 
    }); 
}); 
+0

我尝试过,但现在当我点击提交它指向PHP。表格不显示在下面。 – Arjun

相关问题