我有一个问题。我希望我的网页允许一个表中有多个条目。但是,某些列字段通过POST搜索数据库并返回影响以下字段的值。当前可以完成一项。但是,我想将其放入一个表中,其中有一个添加了javascript的添加行按钮。
<button id="add_row" >Add Row</button>
<button id="delete_row">Delete Row</button>
<script type="text/javascript">
$(document).ready(function(){
var i=1;
$("#add_row").click(function(){
$('#addr'+i).html($('#addr0').html());
$('#timeTable').append('<tr id="addr'+(i+1)+'"></tr>');
i++;
});
$("#delete_row").click(function(){
if(i>1){
$("#addr"+(i-1)).html('');
i--;
}
});
});
好吧,直到发生两件事为止。如果我填写第一个字段,它会过帐,然后刷新不会保存表格的页面。我有一个可以正常工作的多个POST站点,即此示例。
$task1 = $_POST["tasks1"];
$task2 = $_POST["tasks2"];
$task3 = $_POST["tasks3"];
$task4 = $_POST["tasks4"];
$task5 = $_POST["tasks5"];
$task6 = $_POST["tasks6"];
$task7 = $_POST["tasks7"];
现在我将其放置在表格的所有其他方面,它可以正常工作。即使刷新后更新另一个框,它也会保留数据。现在,我想知道是否可以将其制作成一个数组。
$task[x] = $_POST["task[x]"];
我希望更改_POST的原因是因为如果它们都相同,则我的数据将进入这些值,所以我希望它是一个数组,因为它们每个都需要允许不同的值
基本上,我想通过javascript增加变量并将其关联到每个添加的行。我查看并发现了“类似”问题,但并非完全是我想要的。这很具体。最后,我有一个偶数/奇数表,表示该表中每隔一行的格式更改。但是,当我使用“添加行”按钮时,它只执行前两行,然后再执行此操作,因此不再保留格式。有建议吗?
<script type="text/javascript">
$(document).ready(function(){
$("tr:even").css("background-color", "#A71B95");
$("tr:odd").css("background-color", "#F8D3F3");
});
</script>
因此,在第二行之后,它不再更改背景颜色。
编辑08/08/2018
我尝试使用javascript。这是我目前在php部分中的内容。 $ text = $ _POST [“ text1”]; $ project1 = $ _POST [“ projects1”];
(Mysql) which populates $textA / $textB for selection and $projectsA
and B
<td align='center'>
<?php if(isset($_POST["text1"])){?>
<select id = "text" name="text1" onchange="this.form.submit()">
<option value=''></option>
<? echo $textA; echo $textB;}
else{?>
<select id = "text" name="text1" onchange="this.form.submit()">
<option value=' '> </option>
<? echo $textB;}?>
</select>
</td>
<td align='center'>
<?php if(isset($_POST["submitForm"])){?>
<select name="projects1" onchange="this.form.submit()">
<option value=' '> </option>
<? echo $projectsA;?>
<? echo $projectsB;}
elseif (isset($_POST["text1"])){?>
<select name="projects1" onchange="this.form.submit()">
<option value=' '> </option>
<? echo $projectsA;?>
<? echo $projectsB;}
else{?>
<select name="projects1">
<option value=' '> </option>
<? }?>
</select>
</td>
这里是Java
<button id="add_row" >Add Row</button>
<button id="delete_row">Delete Row</button>
<script>
$(document).ready(function(){
var i=1;
$("#add_row").click(function(){
$('#addr'+i).html($('#addr0').html());
$('#timeTable').append('<tr id="addr'+(i+1)+'"></tr>');
i++;
$("tr:even").css("background-color", "#A71B95");
$("tr:odd").css("background-color", "#F8D3F3");
});
$("#delete_row").click(function(){
if(i>1){
$("#addr"+(i-1)).html('');
i--;
}
});
$('#text').change(function(){
var text1 = $('#text').val();
$.post("website.php",
{text1: text},
function(text1)
{
document.getElementsByName('text1').value= text1;
}
);
});
});
</script>
因此,我尝试添加新行,然后发布信息,以便它读取第一列更改,然后根据该更改更新第二列的选择。但是,当我添加行时遇到问题,它会刷新页面并清除所有内容。与我添加行后相同。我想添加具有相同功能的行。希望这有助于更好地说明我为什么要发布该帖子,但不作任何更新。而且我希望它进入$ _POST ['text1'],以便它可以运行查询并更新下一列。并再次针对输入的每一行。
答案 0 :(得分:0)
当您填写第一个字段时,请使用ajax触发您的帖子。这将阻止您的页面刷新。然后,您可以在为整行添加值之后触发普通帖子。