很简单,作为浏览器样式的 UI,我试图在两个文本框中读取两个参数(由用户提供),将它们保存在服务器上的纯文本文件(特别是 csv,但这并不重要)中,但不会停在那里,为了确保这些已正确保存,并且作为对用户的反馈,我想将新保存的参数从文件读回同一页面上的其他两个文本框中。
当页面加载时,jquery 使用 php.ini 使用从服务器 csv 文件中读取的值成功填充“当前保存的设置”文本框。当我输入新值,然后单击 [提交] 按钮保存这些值时,服务器文件将成功更新。
这是问题出现的下一步,我可以使用 php 从服务器文件中读取新存储的值并“警告”它们以检查它们是否正确,但 jquery 行更新“当前保存的设置”不会更新。我必须刷新网页才能更新这些文本框。我应该说“警报”显示正确的(新保存的)值,所以到目前为止一切正常,只是以下两条在页面加载时工作的 jquery 行此时似乎没有执行。
希望我在这里缺少一些简单的东西。
(csv 文件本身只是一个完全独立且不相关的软件使用的两个参数。)
非常感谢帮助。
php文件如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>System Settings</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js" type="text/javascript"></script>
<?php
$SystemSettings = explode(",",file_get_contents('Data/Settings.csv'));
?>
<script type="text/javascript">
$(document).ready(function () {
$("#txtStoredParam1").val("<?php echo $SystemSettings[0] ?>");
$("#txtStoredParam2").val("<?php echo $SystemSettings[1] ?>");
$("#btnSaveSettings").button();
});
</script>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
$File = "Data/Settings.csv";
$Handle = fopen($File, 'w');
$Data = $_POST['Param1'] . "," . $_POST['Param2'];
fwrite($Handle, $Data);
fclose($Handle);
$SystemSettings = explode(",",file_get_contents('Data/Settings.csv'));
?>
<script>
// alert("<?php echo $SystemSettings[0] ?>");
// alert("<?php echo $SystemSettings[1] ?>");
$("#txtStoredParam1").val("<?php echo $SystemSettings[0] ?>");
$("#txtStoredParam2").val("<?php echo $SystemSettings[1] ?>");
</script>
<?php
}
?>
<form id="Form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="SettingsForm" target="iFormResponse">
<h2>Parameter 1:</h2>
<input id="txtParam1" type="text" name="Param1" />
<h2>Parameter 2:</h2>
<input id="txtParam2" type="text" name="Param2" />
<p> </p>
<p><input id="btnSaveSettings" type="submit" value="Save Settings" name="submit" /></p>
<p> </p>
<h3> Currently Saved Settings: </h3>
<p> <label id="lblParam1">Parameter 1: </label><input id="txtStoredParam1" type="text" name="StoredParam1" />
<label id="lblParam2">Parameter 2: </label><input id="txtStoredParam2" type="text" name="StoredParam2" /></p>
</form>
<iframe name="iFormResponse" width="300" height="200" Style="display:none;"></iframe>
</body>
</html>