Следующая функция Javascript работает и добавляет в форму от 1 до 10 полей ввода. Пользователь может выбрать количество с помощью меню параметров.
function run() {
var i = document.getElementById("radioNumber").value;
while (document.getElementById("neu").firstChild) {
neu.removeChild(neu.firstChild);
}
for(j=0; j<i; j++){
var feld = document.createElement("input");
feld.setAttribute("name", "myNewField[]");
document.getElementById("neu").appendChild(feld);
}
}
Это форма:
<div class="radio field" style="display:none">
<form action="<?php echo htmlspecialchars($_SERVER[" php_self"]);?>
" method="post"> <label for="title2">Name your textfield</label>
<input type="text" name="title2"> </br>
</br>
<label for="text">Choose a step</label>
<select name="step2">
<option value="0">Select</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</br>
</br>
<label for="pos2">Choose a position</label>
<input type="text" name="pos2"></br>
</br>
</br>
<label for="radio">How many radio fields do you want to add?</label>
<select id="radioNumber" onchange="run()">
<!--Call run() function-->
<option value="0">Select</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<br>
<div id="neu">
</div>
</br>
<input type="submit" name="radio" value="Confirm">
</form>
</div>
Это мой PHP-код, в который я пытаюсь вставить значения в БД. Все отлично работает, кроме вставки переменной $entries
. Я получаю массив myNewField[]
и хочу его взорвать, чтобы вставить, например, entry1$$entry2$$entry3$$entry4
в виде строки. Записи полей в БД остаются пустыми, но print_r($_POST)
показывает мне, что записи записываются в массив myNewField[]
... Кто-нибудь видит ошибку?
<?php
if(isset($_POST["title2"])){
$title2 = htmlspecialchars ($_POST["title2"]);
$req = htmlspecialchars ($_POST["required"]);
$step2 = htmlspecialchars ($_POST["step2"]);
$pos2 = htmlspecialchars ($_POST["pos2"]);
$entries = implode("$$",$_POST["myNewField[]"]);
echo "test".$entries;
mysql_query("INSERT INTO field(type_id, title, step, pos, visible, entries, required) VALUES ('2', '".$title2."', '".$step2."', '".$pos2."', '1', '".$entries."', '".$req."');");
print_r($_POST);
}
else{
$title2 = "";
$req ="";
$step2 = "";
$pos2 = "";
$entries = "";
}
?>