Javascript ID未提交到查询
我感谢您提前回复 我有几页的订单,我正在处理,但我相信修复一个将提供足够的知识来修复其他。在本例中,我将向您展示Javascript ID未提交到查询,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,我感谢您提前回复 我有几页的订单,我正在处理,但我相信修复一个将提供足够的知识来修复其他。在本例中,我将向您展示daytasks.php部分。基本上,我可以对第一行进行功能更改,但第二行、第三行等不能修改。使用功能按钮对这些行没有任何作用daytasks.php调用fetchdaytasks.php获取基于日期的信息,调用/functions/additions.js执行Javascript,调用对应脚本的函数执行请求的操作 e、 g.我有两个订单,每个订单都有各自的,我可以用任何函数修改第一行
daytasks.php
部分。基本上,我可以对第一行进行功能更改,但第二行、第三行等不能修改。使用功能按钮对这些行没有任何作用daytasks.php
调用fetchdaytasks.php
获取基于日期的信息,调用/functions/additions.js
执行Javascript,调用对应脚本的函数执行请求的操作
e、 g.我有两个订单,每个订单都有各自的
,我可以用任何函数修改第一行,即ID#28
,但第二行,ID#35
我无法修改,它不会做任何更改
daytasks.php的部分
<div class="form-group">
<br />
<center>
<div class="input-group">
<input type="date" id="search_text" name="search_text" />
</div>
<div id="result"></div>
</center>
</div>
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$id=$row['id'];
$orderdate=$row['date'];
$order=$row['order'];
$status=$row['status'];
echo "
<td><center>$id</center></td>
<td><center>$orderdate</center></td>
<td><center>$order</center></td>
<td><center>$status</center></td>
<form>
<td><center><button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button> <button type='button' name='btn_unship' id='btn_unship' class='btn btn-xs btn-danger btn_delete'>UNSHIP</button> <button type='button' name='btn_bo' id='btn_bo' class='btn btn-xs btn-danger btn_delete'>BACKORDER</button> <button type='button' name='btn_fbo' id='btn_fbo' class='btn btn-xs btn-danger btn_delete'>FBO</button><br />
<button type='button' name='btn_cancel' id='btn_cancel' class='btn btn-xs btn-danger btn_delete'>CANCEL</button> <button type='button' name='btn_return' id='btn_return' class='btn btn-xs btn-danger btn_delete'>RETURN</button> <button type='button' name='btn_dam' id='btn_dam' class='btn btn-xs btn-danger btn_delete'>DAMAGED</button> <button type='button' name='btn_lost' id='btn_lost' class='btn btn-xs btn-danger btn_delete'>LOST</button></td>
</form>
</tr>
";
}
}
else
{
echo "No Orders For This Date";
}
<?php
include_once('/home/brandina/public_html/eldis/config/config.php');
$changeid = $_POST['changeid'];
if(mysqli_query($connect, "UPDATE `orders` SET `status`='FBO' WHERE `id`='$changeid'"))
?>
<?php
include_once('/home/brandina/public_html/eldis/config/config.php');
$changeid = $_POST['changeid'];
if(mysqli_query($connect, "UPDATE `orders` SET `status`='SHIP' WHERE `id`='$changeid'"))
?>
additions.js的一部分
$("#btn_ship").click(function(){
var changeid = $( this ).data('id');
var myData={"changeid":changeid};
$.ajax({
url : "./functions/shiporder.php",
type: "POST",
data : myData,
success: function(data,status,xhr)
{
$("#status_text").html(data);
$('#changeid').val();
}
});
});
$("#btn_fbo").click(function(){
var changeid = $('#changeid').val();
var myData={"changeid":changeid};
$.ajax({
url : "./functions/fboorder.php",
type: "POST",
data : myData,
success: function(data,status,xhr)
{
$("#status_text").html(data);
$('#changeid').val();
}
});
});
/functions/fbooorder.php
<div class="form-group">
<br />
<center>
<div class="input-group">
<input type="date" id="search_text" name="search_text" />
</div>
<div id="result"></div>
</center>
</div>
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$id=$row['id'];
$orderdate=$row['date'];
$order=$row['order'];
$status=$row['status'];
echo "
<td><center>$id</center></td>
<td><center>$orderdate</center></td>
<td><center>$order</center></td>
<td><center>$status</center></td>
<form>
<td><center><button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button> <button type='button' name='btn_unship' id='btn_unship' class='btn btn-xs btn-danger btn_delete'>UNSHIP</button> <button type='button' name='btn_bo' id='btn_bo' class='btn btn-xs btn-danger btn_delete'>BACKORDER</button> <button type='button' name='btn_fbo' id='btn_fbo' class='btn btn-xs btn-danger btn_delete'>FBO</button><br />
<button type='button' name='btn_cancel' id='btn_cancel' class='btn btn-xs btn-danger btn_delete'>CANCEL</button> <button type='button' name='btn_return' id='btn_return' class='btn btn-xs btn-danger btn_delete'>RETURN</button> <button type='button' name='btn_dam' id='btn_dam' class='btn btn-xs btn-danger btn_delete'>DAMAGED</button> <button type='button' name='btn_lost' id='btn_lost' class='btn btn-xs btn-danger btn_delete'>LOST</button></td>
</form>
</tr>
";
}
}
else
{
echo "No Orders For This Date";
}
<?php
include_once('/home/brandina/public_html/eldis/config/config.php');
$changeid = $_POST['changeid'];
if(mysqli_query($connect, "UPDATE `orders` SET `status`='FBO' WHERE `id`='$changeid'"))
?>
<?php
include_once('/home/brandina/public_html/eldis/config/config.php');
$changeid = $_POST['changeid'];
if(mysqli_query($connect, "UPDATE `orders` SET `status`='SHIP' WHERE `id`='$changeid'"))
?>
由于您在FetchDayStasks中循环,因此此行将重复:
这意味着您将有多个“id”为“changeid”的元素。在JS中有var changeid=$('#changeid').val()代码>
这不知道你说的是哪种变化
所以我会去掉隐藏的输入,使用“数据XXX”,并将其放在按钮或表单上
所以发货
或
然后在JS中获取id,如:
var changeid=$(this).data('id)代码>如果您在按钮上执行此操作。因为您在FetchDayStasks中循环,所以此行将重复:
这意味着您将有多个“id”为“changeid”的元素。在JS中有var changeid=$('#changeid').val()代码>
这不知道你说的是哪种变化
所以我会去掉隐藏的输入,使用“数据XXX”,并将其放在按钮或表单上
所以发货
或
然后在JS中获取id,如:
var changeid=$(this).data('id)代码>以防您按按钮执行。几乎正确。如果有多个具有相同id的html元素,则getElementById()返回其中一个元素。不确定是哪一个(通常是从顶部开始的第一个)。我感谢你们的评论。不是要求你为我构建JS代码,但是你能帮我修改JS脚本,这样我就可以使用你提供的数据id了吗?我认为这个选项会起作用,我根据手头上以前的脚本尝试过,但没有成功,很可能是因为我做得不对。@Omnisite-我感谢您的编辑。我将data id='$id'
添加到我的按钮中,并使用建议的var changeid=$(this.data('id))代码>取代了我的JS中原来的var
——现在它无法修改任何一行。想法?@Shadow你有什么建议来复制这个问题吗?我做了一些建议性的更改,但是它现在执行与以前相同的功能,只处理最上面一行。您的js onclick事件处理程序仍然绑定到重复的id属性。解决方案非常简单:不要将事件处理程序绑定到id,而是将它们绑定到类。几乎正确。如果有多个具有相同id的html元素,则getElementById()返回其中一个元素。不确定是哪一个(通常是从顶部开始的第一个)。我感谢你们的评论。不是要求你为我构建JS代码,但是你能帮我修改JS脚本,这样我就可以使用你提供的数据id了吗?我认为这个选项会起作用,我根据手头上以前的脚本尝试过,但没有成功,很可能是因为我做得不对。@Omnisite-我感谢您的编辑。我将data id='$id'
添加到我的按钮中,并使用建议的var changeid=$(this.data('id))代码>取代了我的JS中原来的var
——现在它无法修改任何一行。想法?@Shadow你有什么建议来复制这个问题吗?我做了一些建议性的更改,但是它现在执行与以前相同的功能,只处理最上面一行。您的js onclick事件处理程序仍然绑定到重复的id属性。解决方案非常简单:不要将事件处理程序绑定到id,而是将它们绑定到类。