我的最后一个编程项目是使用 GWBasic 和 Turbo Pascal...所以请耐心等待。我一直在努力将下拉列表选择的结果写入文本文件。该代码能够写入文件,但无论我尝试什么,都不是选定的值。预先感谢您。
<html lang = "nl">
<head>
<title>Thermostaat P7</title>
<meta charset = "UTF-8" />
</head>
<body>
<h1>Living room</h1>
<form name="thermostat" method="POST">
<fieldset>
<legend>Temperature measurement</legend>
<p>
<?php
$file = file_get_contents('/usr/local/bin/python/Templog', true);
echo "The current temperature is $file °C.";
?>
</p>
</fieldset>
<p>
<fieldset>
<legend>Temperature setting</legend>
<p>
<label for="settemp" class="inline">Desired temperature</label>
<select name="settemp" id="comboA" onChange="getComboA(this)">
<option value=null SELECTED><?php $curSet = file_get_contents('/usr/local/bin/python/Tempset'); echo $curSet; ?> °C </option>
<option value = "12">12 °C</option>
<option value = "16">16 °C</option>
<option value = "19">19 °C</option>
<option value = "19.5">19,5 °C</option>
<option value = "20">20 °C</option>
<option value = "20.5">20,5 °C</option>
<option value = "21">21 °C</option>
<option value = "21.5">21,5 °C</option>
</select>
</p>
</fieldset>
</form>
</body>
</html>
<script type="text/javascript">
function getComboA(sel) {
var value = sel.value;
<?php
file_put_contents('/usr/local/bin/python/Tempset', value)
?>
}
最佳答案
以下是如何使用 AJAX 执行此操作。
首先,改变:
<p>
<?php
$file = file_get_contents('/usr/local/bin/python/Templog', true);
echo "The current temperature is $file °C.";
?>
</p>
至:
<p id="Temp"></p>
这允许您使用该段落来显示温度。然后,对于您的 Javascript,以下是如何显示温度。
<script type="text/javascript">
function getComboA(sel) {
var value = sel.value;
var xmlhttp = new XMLHttpRequest();
if(window.XMLHttpRequest) { // Check for browser acceptance
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("Temp").innerHTML = "The current temperature is " + value + "°C"
}
}
这是您的 AJAX,用于将温度写入 WriteToTempset.php
xmlhttp.open("GET", "WriteToTempset.php?temperature=" + value);
xmlhttp.send();
}
</script>
这里是写入文件的WriteToTempset.php
:
<?php
if(!empty($_GET['temperature'])) {
$file = fopen("/usr/local/bin/python/Tempset", "w");
fwrite($file, $_GET['temperature']);
fclose($file);
}
?>
关于javascript - 如何将下拉列表选择写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30149143/