Как я могу передать txt = txt + "\n" + x.options[i].value;
скрытому полю в форме? Ниже мой код:
<form action="update.php" method="post">
<input type=button class="master" name=b1 id=b1 value='Move >'>
<input type=button class="master" name=b2 id=b2 value='< Remove'>
<select name=category[] id=category multiple="multiple" class=master>
<?php
$file = fopen("category.csv", "r");
while (($row = fgetcsv($file, 0, ",")) !== FALSE) {
$category = $row[0];
?>
<option value="<?php echo $category;?>"><?php echo $category;?></option>
<?php
}
?>
</select>
<input type="hidden" name="master" id="master" value="">
<input type="submit" value="Save File" onclick="displayResult()" name="submit" >
</form>
А вот мой обновленный JS.
<script>
function displayResult() {
var options = document.getElementById('master').options;
var values = [];
var i = 0, len = options.length;
while (i < len)
{
values.push(options[i++].value);
}
txt=(values.join(','));
alert(txt);
document.getElementById('masterlist').value = txt;
}
</script>
Теперь работает на 100%. value = txt
правильно передается в скрытое поле моей формы, и при отправке формы значения action="update.php"
записываются в мои файлы master.csv и category.csv соответственно. При этом мое обновление. php file
<?php
header("Location:".$URL.'index.php');
if ($_POST['masterlist']) {
$list = $_POST['masterlist'];
$str_master = explode (",", $list);
foreach ($str_master as $key => $value) {
$resultmaster.=$value. "\n";
}
file_put_contents('master.csv',$resultmaster);
}
if ($_POST['category']) {
$category = $_POST['category'];
$categoryunique = array_unique($category);
sort($categoryunique);
foreach ($categoryunique as $key => $value) {
$resultcategory.=$value. "\n";
}
file_put_contents('category.csv',$resultcategory);
}
?>