我对此代码有疑问:
function sendData(nr) {
var data = $("#myform"+ nr).serialize();
// debug regeltje
console.log(data);
jQuery.ajax({
url: "inc/update.php",
data: data,
type: "POST",
cache: false,
success:function(data)
{
if(data=='success') {
$("#container").load(window.location + " #container");
// alert(data);
} else {
$("#container").load(window.location + " #container");
}
}
});
}
我第一次调用此函数时它工作正常。 但第二次它不是。 调试控制台没有结果。
这是我的update.php
文件
<?php
session_start();
include("config.php");
include("function.php");
include("class.User.php");
$Func = new Func($db);
if(isset($_SESSION['userData'])) {
$User = new GUser($db,$Func, $_SESSION['userData']['oauth_uid']);
}
//echo var_dump($_POST);
if(isset($_POST['color'])) {
$query = $db->query('UPDATE user_fleet SET train_row_color = "'.$db->real_escape_string($_POST['color']).'" WHERE id = "'.$db->real_escape_string($_POST['id']).'"');
}
刷新完整页后,它再次正常工作一次。
为什么会这样?
我从sendData
fleet.php
<tr style="background-color: #'.$res['train_row_color'].';">
<form method="post" action="" id="myform'.++$i.'">
<td>
<select class="test" name="color" onchange="sendData('.$i.');">
<option value="0"></option>
<option value="ff0000" style="background-color: #ff0000"></option>
<option value="3000ff" style="background-color: #3000ff"></option>
<option value="36ff00" style="background-color: #36ff00"></option>
<option value="e400ff" style="background-color: #e400ff"></option>
<option value="fff000" style="background-color: #fff000"></option>
</select>
</td>
这是在while
循环中。
真正的Google Inspect和网络我看到了这个
如您所见,第二个屏幕未显示表格。
答案 0 :(得分:0)
从HTML标记中删除调用函数
<select id="yourID" class="test" name="color">
使用javascript进行函数调用
$("#yourID").on('change',function(){
sendData($(this).val();
});