使用动态输入字段时遇到一些麻烦。
我的问题:
我有一个表单,可以为数据库中的每种语言创建输入。每种语言都会创建输入ID /名称,例如text[lang_name]
(例如lang[en], lang[fr], lang[pt]
等),以便以后我可以通过PHP将其作为数组读取。
现在是真正的问题。我需要根据数据库中存在的每种语言动态插入一个新输入。因此,如果数据库中有3种语言,则该按钮应为我创建3种输入,每种语言各有1种输入,并且逻辑相同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按钮,该按钮可以将类似的输入动态广告到页面(只要存在多种语言)