显示此错误消息:
id=35&字段=未定义&值=未定义
我不知道为什么它不读取值。这个表是用jQuery实时"生成"的。
$(document).on('click', '.edit_tr', function() {
var ID=$(this).attr('id');
$("#label_"+ID).hide();
$("#pen_"+ID).hide();
$("#input_"+ID).show();
}).change(function()
{
var ID = $(this).attr('id');
var IID = document.getElementById("iid").value;
var data=$("#input_"+ID).val();
var dataString = 'id=' + IID + '&field=' + ID + '&value=' + data;
$.ajax({
type: "POST",
url: "updnames.php",
data: dataString,
cache: false,
success: function(html)
{
$("#label_"+ID).html(data);
document.getElementById("pen_"+ID).src="img/dotOK.png";
document.getElementById("pen_"+ID).width="16";
},
error: function(data)
{
alert("Error!" + dataString);
}
});
});
// Klick innerhalb des Labels
$(".editbox").mouseup(function()
{
return false
});
// Klick auserhalb des Inputfeldes
$(document).mouseup(function()
{
$(".editbox").hide();
$(".text").show();
$(".pen").show();
});
我想用数据实时更新表。这是 HTML:
<table class="edit_tab" id="edit_tab">
<input type="hidden" value="<?php echo $row[0]; ?>" id="iid" />
<tr class="edit_tr odd" id="name">
<td>Name:</td>
<td>
<span id="label_name" class="text">
<?php echo $row[3]; ?>
</span>
<input type="text" value="<?php echo $row[3]; ?>" class="editbox form-control" id="input_name" style="display: none;" />
</td>
<td class="edit_pen">
<img src="pen.png" class="pen" id="pen_name" />
</td>
</tr>
<tr class="edit_tr" id="number">
<td>Nummer:</td>
<td>
<span id="label_nummer" class="text">
<?php echo $row[2]; ?>
</span>
<input type="text" value="<?php echo $row[2]; ?>" class="editbox form-control" id="input_nummer" style="display: none;"/>
</td>
<td class="edit_pen">
<img src="pen.png" class="pen" id="pen_nummer" />
</td>
</tr></table>
我认为您的代码中的问题是"单击"和"更改时"事件之间的混合......
我们没有很多关于您的函数正在做什么以及为什么您希望在"点击时"函数中使用"更改"函数的详细信息......
如果我的想法很好,请尝试按如下方式更改您的代码:
$(document).on('click', '.edit_tr', function() {
var ID=$(this).attr('id');
$("#label_"+ID).hide();
$("#pen_"+ID).hide();
$("#input_"+ID).show();
// }).change(function()
// {
var ID = $(this).attr('id');
var IID = document.getElementById("iid").value;
var data=$("#input_"+ID).val();
var dataString = 'id=' + IID + '&field=' + ID + '&value=' + data;
$.ajax({
type: "POST",
url: "updnames.php",
data: dataString,
cache: false,
success: function(html)
{
$("#label_"+ID).html(data);
document.getElementById("pen_"+ID).src="img/dotOK.png";
document.getElementById("pen_"+ID).width="16";
},
error: function(data)
{
alert("Error!" + dataString);
}
});
// });
// Klick innerhalb des Labels
$(".editbox").mouseup(function()
{
return false
});
// Klick auserhalb des Inputfeldes
$(document).mouseup(function()
{
$(".editbox").hide();
$(".text").show();
$(".pen").show();
});
希望对您有所帮助!