当前位置: 首页 > 知识库问答 >
问题:

如何从下拉列表中填写表单数据?

谭宏盛
2023-03-14

我在页面上有一个表单,用户可以在其中保存信息,还有一个下拉列表,可以从保存文件的目录中提取这些保存的文件。我想要的是当他们进入该页面时,当他们从下拉框中选择文件名时,它会将文件名放在输入框“CodeDescription”字段中,并将文件信息放在文本区域“Code”中,但我不确定如何解析该文件。下面是我当前的代码。

<input type="hidden" name="Action" value="EDIT" />
<input type="hidden" name="Selection"  id="Selection" value="-1">    
<div>Below is the list of your saved codes. To edit your codes, select it from the list.</div>
<select> 
<?php 
  $directory = $directory = 'users/' . $_SESSION['username'];
  $files = scandir( $directory ) ;
  foreach( $files as $file ) {
    if ( ! is_dir( $file ) ) {
      echo "<option>" . $file . "</option>";
    }
  }
  ?>
</select>
<h3>Saved Codes</h3>
<form method="post" action="/evo/avsaveprocess.php">
  <input type="hidden" name="Action" value="SAVE" />
  <input type="hidden" name="CodeId" id="CodeId" value="0" />
  <table width="100%" border="0">
    <tr>
      <td>Description:</td>
      <td><input type="text" name="CodeDescription" size="40" maxlength="50" id="CodeName" value="" /></td>
    </tr>
    <tr>
      <td valign="top">Code:</td>
      <td>
        <textarea rows="10" style="width:99%" name="Code" id="CodeValue"></textarea>
      </td>
    </tr>
  </table>
  <input type="submit" value="Save" />
</form>

或者,相反地,我不介意在下拉菜单中选择正确的文件时,它只是在表单字段下面显示输出。

编辑以添加我正在尝试的javascript:

<script>

function CodeChange() {                            
        var filesContentJS = "$filesContents";
        if (index > 0) {
            document.getElementById("Selection").value = filesContentJS;
          } else {
            document.getElementById("Selection").value = "-1";
            document.getElementById("CodeId").value = "0";
            document.getElementById("CodeName").value = "";
            document.getElementById("CodeValue").value = "";
        }
    }

</script>

更新javascript这不会输出任何错误,但是当我检查元素在Chrome它返回:

警告:file_get_contents(用户/AddictionAddiction.txt)[function.file-get内容]:无法打开流:在第141行的 /home/revo/public_html/evo/codesaveindex.php中没有这样的文件或目录

我不知道在哪里纠正,因为上瘾之间应该有ddiction.txt

共有1个答案

柳豪
2023-03-14

创建文件内容数组:

<?php 
$directory = $directory = 'users/' . $_SESSION['username'];
$filesContents = Array();
$files = scandir( $directory ) ;

foreach( $files as $file )
{
if ( ! is_dir( $file ) )
{
$filesContents[$file] = file_get_contents($directory . $file);
echo "<option>" . $file . "</option>";
}
}
?>

然后使用Javascript数组或JSON

<script>
var filesContentJS = <?=json_encode($filesContents) ?>;
</script>

在select use onChange=“”函数中:从下拉列表中获取所选文件,滚动filecontentjs以查找其内容并用其填写表单

另一个注意事项:请记住,如果您的文件很大(有很多代码/文本),那么您可能需要使用AJAX来实现这一点。。。当下拉列表更改时,执行AJAX调用以检索其信息。

 类似资料:
  • 问题内容: 我有一个表格(“场地”),其中存储了志愿者可以工作的所有可能场所,每个志愿者被分配为每个场所工作一个。 我想从场所表中创建一个选择下拉列表。 现在,我可以显示分配给每个志愿者的地点,但是我希望它显示下拉框,并且已经在列表中选择了地点。 例如,将ID为7的志愿者分配给了场地编号4 我知道它将采用for或while循环的形式从场地表中拉出场地列表 我的查询是: 如何填充选择下拉框与场馆(

  • 我创建一个列表,如下所示: 然后,我想在第一个子列表中插入10个,如下所示: 但是,我得到以下错误: 线程“main”java中出现异常。lang.IndexOutOfBoundsException:java中的索引:0,大小:0。util。ArrayList。java上的rangeCheck(ArrayList.java:653)。util。ArrayList。get(ArrayList.jav

  • 我明白我需要用硒,但我不知道怎么用。结果始终是单个字符串的列表。理想情况下,我希望返回两个列表:一个带有unix datestamp(option value=“1576627200”),另一个带有“normal”日期(即18/12/2019)的列表。 任何帮助都将不胜感激。

  • 我有一个包含5列的mysql数据库表。 id,columnA,columnB,columnC,columnD 我用这些值填充datatable,因此每列有2个(不同的)值。 我希望用户可以从下拉列表中选择这些值。当他/她从columnA中选择第一个数据时,columnB值会根据所选值出现在另一个选择框中。等等..所以我想我需要使用Ajax-jQuery。这是我使用的脚本, 和php代码。 我得到了

  • 问题内容: 我正在开发一个国家/地区级联下拉列表…我基于返回了json结果,但我不知道如何在新的下拉列表框中填充/填充它。 这是我正在使用的 警报给了这个 我的aspx页面上有这个 关于如何填充下拉菜单的任何建议… 编辑: 当我通过萤火虫检查时,我收到了有关ajax帖子的回复, 问题答案: 例

  • 问题内容: 我是django的新手,我想制作一个简单的表格,根据文档,我可以使用django的表格模块制作表格 我想知道的是如何创建一个月的天下拉列表,即从1到31? 有些人在表单模板中使用javascript完成此操作,可以在Django中完成吗? 问题答案: 您正在寻找默认情况下呈现为html元素的。 https://docs.djangoproject.com/zh- CN/dev/ref/