gpt4 book ai didi

javascript - 我怎样才能以相同的形式从具有相同名称的不同选择选项中获取一个值

转载 作者:行者123 更新时间:2023-11-28 02:39:02 25 4
gpt4 key购买 nike

我已经分配了三个同名的选择选项,它们将存储在我的数据库表中。我的代码一开始运行良好,现在我不知道为什么它运行良好。现在它只保存分配给最后一个选择选项面板的值。我需要帮助

<?php
if(isset($_POST['submit'])){
$vic_title = $_POST['vic_title'];
$vic_name = $_POST['vic_name'];
echo $vic_name;
if($vic_name=='')
echo "<font color='Green'><b>Please fill in the discription the accused name THANKS!!</b></font>";
else
$insert = "INSERT INTO discips(vic_title, vic_name)
values('$vic_title','$vic_name')";

$run = mysql_query($insert);
if ($run) {
echo "<font color='Green'><b>the incident was added</b></font>";
# code...
}
else{
echo "<font color='red'><b>the incident was not added</b></font>";
}
}
?>

这是我使用的表格。

<form name="harvets" id="form" action="?pg=<?php echo $_GET[pg]."&lodge_inc"."&hv=$token"; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $edit_ca;?>">
<center style="padding-top: 2%; margin-top: 3%;"><h3>Enter Incident Informtion</h3></center>
<table width="100%" class="m_aligned">

<tr>
<td align="right" style="width: 100%;">Victim *</td>
<td align="left" style="width: 100%;">
<select style="width: 100%;" id="victim" name="vic_title" class="sect" placeholder="Select a Role">
<option></option>
<option value="staff">Staff</option>
<option value="student">Student</option>
<option value="visitor">Vistor</option>
</select>
</td>
</tr>

<tr id="staff_name" style="display: none;">
<td align="right" style="width: 100%;">Staff Name : </td>
<td align="left" style="width: 100%;">
<select style="width: 100%;" name="vic_name" class="sect" placeholder="Staff's Name">
<?php
$get_staf = "select * from useraccounts";
$run_staf = mysql_query($get_staf);
while ($row = mysql_fetch_array($run_staf)) {
$staf_id = $row['username'];
$staf_name = $row['name'];
echo "<option value='$staf_id'>". $staf_name ."</option>";
# code...
}
?>
</select>
</td>
</tr>
<tr id="vis_name" style="display: none;">
<td align="right" style="width: 100%;">Visitor Name : </td>
<td align="left" style="width: 100%;"><input type="text" name="vic_name" placeholder="Visitor's Name"></td>
</tr>
<tr id="stud_name" style="display: none;">
<td align="right" style="width: 100%;">Student Name: </td>
<td align="left" style="width: 100%;">
<select style="width: 100%;" class="sect" name="vic_name" placeholder="Student's Name" cols="9">
<option></option>
<?php
$get_stud= "SELECT * FROM studentdetails";
$run_stud = mysql_query($get_stud);
while ($row = mysql_fetch_array($run_stud)) {
$stud_id = $row['id'];
$stud_fname = $row['fname'];
$stud_lname = $row['lname'];
echo "<option value='$stud_id'>". $stud_fname ." ". $stud_lname ."</option>";
# code...
} ?>
</select>
</td>
</tr>

保存

这是我的 JavaScript

<script type="text/javascript">
$("#victim").change(function (ev){
if($(this).val()=='visitor') $("#vis_name").css("display", "table-row")
else $("#vis_name").css("display", "none")

if($(this).val()=='student') $("#stud_name").css("display", "table-row")
else $("#stud_name").css("display", "none")
if($(this).val()=='staff') $("#staff_name").css("display", "table-row")
else $("#staff_name").css("display", "none")
});
</script>

<script type="text/javascript">
$(document).ready(function() {
$(".sect").select2({
allowClear: true
});
</script>

最佳答案

使用给定名称获取最后一个字段(选择或任何内容)的值是正确的行为。如果您希望在提交表单时发送多个值,则必须为它们的字段指定不同的名称。

问问自己为什么要以相同的方式命名它们。你应该怎么得到它们?如果我创建三个不同的输入,将其中三个命名为“标题”并在每个输入中键入不同的内容后提交表单,你猜如果我访问 $_POST['title'] 我会得到什么? ?更有问题的是,我应该输入什么来获得我的三个输入中第一个的值?我他妈的怎么知道,这些是具有不同目的的相同元素!

如果您设计不同的元素,请赋予它们不同的特征,否则它们不会有所不同。它们只会相互覆盖,而您只会拥有最后一批。

如果你真的需要让它们命名相同,在名称的末尾添加钩子(Hook),如下所示:

name="vic_name[] .

它将那个字段的值附加到$_POST['vic_name'] ,现在将是一个数组,因此可能包含多个值。 这是唯一的方法。

关于javascript - 我怎样才能以相同的形式从具有相同名称的不同选择选项中获取一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45479271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com