javascript - 如何将下拉列表选择写入文本文件

标签 javascript php html

我的最后一个编程项目是使用 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/

相关文章:

javascript 正则表达式对象与内联正则表达式

javascript - AngularJS,指令元素为空

php - 尽管使用 Bootstrap 上传尺寸,但强制 Wordpress 图像具有相同的高度

php - 读取 CakePHP 3.x 中验证规则的属性以在 js 函数中使用

html - CSS:如何 float :右和居中

javascript - 使用 HTML、CSS、JS 形式自动更新进度条

html - CSS - 当 :hover instead of 1 block 时完整网站正在移动

javascript - 如何绕过 Chrome 在后台标签中禁用视频自动播放

javascript - 如何循环数组生成js代码?

php - Laravel 文件存储删除目录中的所有文件