从下拉列表中获取价值。 (有点棘手)

时间:2012-09-02 15:24:17

标签: php javascript html get

首先,我对PHP和编码都很陌生,但现在就去了。

我有一个网络表单,必须从txt文件(位于服务器上的文件夹中)获取一些信息 我得到了如何让它从文件中获取信息以及如何制作下拉列表,显示文件夹中的所有文件。 我怎么想弄清楚如何使它们一起工作,所以它从中读取的文件名取自下拉列表的选定值。

下拉列表的代码:

<? 
$currentdir = 'files'; //change to your directory 
$dir = opendir($currentdir); 

echo 'Files are as follows:<br>'; 
echo '<select name="select">'; 
while($file = readdir($dir)) 
{ 
    echo '<option value="'.$file.'">'.$file.'</option>'; 
} 
echo '</select>'; 
closedir($dir); ?>

以及从文件中读取的代码:

<input type="text" value="<?php $myFile = ""; $lines = file($myFile); echo $lines[2]; ?>" name="refnr" id="refnr" class="input" />

让我们说下拉列表显示2个文件,test.txt和test2.txt,如果我从下拉列表中选择test2.txt,我希望它将“test2.txt”放在{{1}的“”之间}; 但无论我如何尝试将代码放在那里以获取所选值,它都会失败......

现在我的表格的完整代码:

<?php $myFile = ""

希望它再次有意义,抱歉,如果它原来是一个菜鸟问题:)我已经使用了2天谷歌搜索和测试,我只是到了一个点,我需要再次向正确的方向推进。

提前致谢。

ps解释我的目标是什么,然后我有1个webform生成一个txt文件并将其保存在服务器上,然后另一个表单,其中“admin”可以从下拉列表中选择文件,获取信息因为客户填写了txt版本,然后填写他需要填写的内容,然后将其保存并以PDF格式发送给技术人员。

3 个答案:

答案 0 :(得分:1)

您可以使用

echo '<select id="select" name="select">'; 
while($file = readdir($dir)) 
{ 
    echo '<option value="'.$file.'">'.$file.'</option>'; 
} 
echo '</select>'; 

将其加载到DOM后,使用

document.getElementById('select').onchange=changeSelect;
function changeSelect(){
    document.getElementById('refnr').value=document.getElementById('select').value;
}
changeSelect();

请在此处查看:http://jsfiddle.net/7nzBS/

答案 1 :(得分:0)

I wanted it to put "test2.txt" in between the "" at `<?php $myFile = ""`

你不能这样做,因为"text2.txt"位于客户端,而$myfile,php变量位于服务器端。如果要从服务器端访问客户端的数据,则需要通过HTTP发送数据。所以你有两个选择:

  1. 通过HTTP 发布获取发送所选值。
  2. 通过 AJAX 发送所选值。

答案 2 :(得分:0)

谢谢Oriol,有效:)

代码现在看起来像这样,并且正如我需要的那样工作。 还要感谢所有其他建议,可爱的快速和有用的回复:)

            <label for="refnr"><b>Referensnummer:</b></label>
        <input type="text" value="<?php $selectedfile = @$_POST['file2']; $myFile = "files/$selectedfile"; $lines = file($myFile); echo $lines[0]; ?>" name="refnr" id="refnr" class="input" />