У меня возникли проблемы при работе с динамическими полями ввода.Моя проблема: у меня есть форма, которая создает входные данные для каждого языка в базе данных.Каждый из этих языков создает входной идентификатор / имя, например text[lang_name]
(например, lang[en], lang[fr], lang[pt]
и т. Д.), Чтобы я мог позже прочитать его с помощью PHP в виде массива.
Теперь настоящая проблема.Мне нужно динамически вставить новый вход на основе каждого языка, присутствующего в базе данных.Итак, если у меня есть 3 языка в базе данных, кнопка должна создать мне 3 входа, по одному для каждого языка, с одинаковой логикой text[lang_name]
.
Обратите внимание, что мне нужны бесконечные уровни динамических кнопок.Мне может понадобиться добавить 1 ввод для каждого языка или 10 для каждого языка.
Как мне этого добиться?После нескольких часов поиска я не могу найти никакого решения, и мне нужна эта опция, чтобы создать многоязычную систему, в которой мне нужно несколько полей для одного и того же id
.
Это код, который у меня есть, который создает всевходные данные на странице:
function AddLocalTextLanguages($mysqli, $tabindex){
$query = "SELECT * FROM language";
#Prepare stmt or reports errors
($stmt = $mysqli->prepare($query)) or trigger_error($mysqli->error, E_USER_ERROR);
#Execute stmt or reports errors
$stmt->execute() or trigger_error($stmt->error, E_USER_ERROR);
#Save data or reports errors
($stmt_result = $stmt->get_result()) or trigger_error($stmt->error, E_USER_ERROR);
#Check if are rows in query
if ($stmt_result->num_rows>0) {
# Save in $row_data[] all columns of query
if($tabindex == 1){
$tab = 0;
echo '<ul class="nav nav-tabs nav-tabs-block" data-toggle="tabs" role="tablist">';
while($row_data = $stmt_result->fetch_assoc()) {
echo '<li class="nav-item">';
if($tab == 0){
echo '<a class="nav-link active" href="#btabs-animated-fade-'.$row_data['code'].'">'.$row_data['language'].'</a>';
}else{
echo '<a class="nav-link" href="#btabs-animated-fade-'.$row_data['code'].'">'.$row_data['language'].'</a>';
}
echo '</li>';
$tab = 1;
}
echo '</ul>';
AddLocalTextLanguages($mysqli, 2);
}elseif($tabindex == 2){
$tab = 0;
echo '<div class="block-content tab-content overflow-hidden">';
while($row_data = $stmt_result->fetch_assoc()) {
$code = $row_data['code'];
if($tab == 0){
echo '<div class="tab-pane fade show active" id="btabs-animated-fade-'.$row_data['code'].'" role="tabpanel">';
}else{
echo '<div class="tab-pane fade" id="btabs-animated-fade-'.$row_data['code'].'" role="tabpanel">';
}
echo '<div class="form-group row">';
echo '<div class="input-group">';
echo "<input type='text' class='form-control' id='text[$code]' name='text[$code]'>";
echo '<span class="input-group-addon"><img src="'.$row_data['image'].'" width="24px"/></span>';
echo '</div>';
echo '</div>';
echo '</div>';
$tab = 1;
}
echo '</div>';
}
}else{
echo "<p>No language to add.</p>";
}
$stmt->close();
}
Итак, мне нужна кнопка JS, которая динамически рекламирует аналогичные входные данные на странице (столько языков, сколько существует)