如何从PHP帖子中获取下拉列表的选定索引
我有一个HTML表单,它包含一个下拉列表、一个tinyMCE文本区域和一个保存按钮。 下拉列表用于选择要编辑的文件 当下拉菜单触发jquery如何从PHP帖子中获取下拉列表的选定索引,php,jquery,forms,tinymce,drop-down-menu,Php,Jquery,Forms,Tinymce,Drop Down Menu,我有一个HTML表单,它包含一个下拉列表、一个tinyMCE文本区域和一个保存按钮。 下拉列表用于选择要编辑的文件 当下拉菜单触发jquerychange()事件时,我通过发出ajax调用将所需文件加载到tinyMCE编辑器中。那很好 我遇到的问题是保存文件。我正试图通过将表单发布到另一个php页面,该页面将写入该文件,然后将我们发送回主页 这是我的writeFile.php页面中的php代码: <?php session_start(); if (!isset($_SESSION['id
change()
事件时,我通过发出ajax调用将所需文件加载到tinyMCE编辑器中。那很好
我遇到的问题是保存文件。我正试图通过将表单发布到另一个php页面,该页面将写入该文件,然后将我们发送回主页
这是我的writeFile.php页面中的php代码:
<?php
session_start();
if (!isset($_SESSION['id'])) {
header ('Location: index.php?error=0');
}
else {
if (isset($_POST['save'])) {
$text = $_POST['mceContent'];
$index = $_POST['files']; // << PROBLEM LINE!
$array = array('homeText.txt', 'anotherText.txt');
$fileName = $array[$index];
$path = '../txt/'.$fileName;
$length = strlen($text);
echo "INDEX: $index"; // TO TEST THE INDEX VARIABLE.
$fh = fopen($text,'w',true);
fwrite($fh,$text,$length) or die('Could not write');
fclose($fh);
header ('Location: admin.php');
}
}
?>
$index变量是指下拉列表中选定的索引,但是我的表单将其作为下拉列表中选定的字符串值发布
我可以想出三种解决方案(从最不可能奏效到最有可能奏效)
提前感谢,请记住我是php新手,尤其是jquery。我不知道为什么不能使用value属性-描述性字符串将是
选项的文本部分,要保存的文件名可以是值:
<option value="path/to/file_to_save.php">Descriptive file name</option>
Javascript代码片段
<form onsubmit="return beforeSubmit()">
<input type="hidden" name="file_index" value="" id="file_index_fld" />
<select id="file_name_dropdown">
<option>...</option>
var beforeSubmit = function () {
$('#file_index_fld').val($('#file_name_dropdown').attr("selectedIndex"));
return true;
}
。。。现在在PHP的$\u POST
变量中,您将看到$\u POST['file\u index']
包含select
元素的selectedIndex
它的长短之处在于selectedIndex
属性是一个DOM项,而不是POST数据的一部分。不管怎样,您要么必须使用javascript将数据添加到POST,要么修改您的选项元素以传递所需的数据。我总是倾向于前一条路线,因为它不那么复杂。我能想到的另一个选择是:在发布之前,在更改事件中捕获新索引,并将其写入表单的隐藏输入字段。在那之后,你可以用jQuery发布它。谢谢-这太明显了,我真是个白痴,因为我没有想到这一点,我不知道它与选项标签一起工作。