我有一个似乎运行良好的应用程序,除了一个我似乎无法弄清楚的小故障。我希望在这里得到一些帮助。
我有一个可以动态添加行的表。有两种添加行的方法,一种是通过复选框加载预先确定的数据,另一种是通过图像向表中添加空白行。
该复选框效果很好,但图像链接仅在第一次有效,而在下一次无效。
这是图像行:
<img src="img/plus.png" width="25" height="25" id="btnAddRow" title="Add New Row" class="idfirst alternativeRow" />
AlternativeRow 是从这里的代码生成的:http ://www.examplet.buss.hk/jquery/table.addrow.php (示例#10,但更复杂),该行是这样的:
$(".alternativeRow").btnAddRow({oddRowCSS:"oddRow",evenRowCSS:"evenRow"});
jquery 代码的“idfirst”块是这样的:
$(document).ready(function(){
$(".idfirst").click(function(){
result = 0;
id = 0;
jQuery.ajax({
url: 'getItemID.php?q=<?php echo $q; ?>',
success: function(result) {
id = result;
if(result.isOk == false)
alert(result.message);
},
async: false
});
window.location.href='page.php?q=<?php echo $q; ?>&id=<?php echo $id; ?>';
});
});
我重新加载是因为我希望在 getItemID.php 中创建的新数字能够动态加载。这很重要,因为它也被添加到在新行中创建的链接中。getItemID 中的代码如下:
$q = $_GET['q'];
$description = $_GET['description'];
$rate = $_GET['rate'];
$hours = $_GET['hours'];
$query = "INSERT INTO items (q, description, hours, rate) VALUES ('".$q."','".$description."','".$hours."','".$rate."')";
$results = mysql_query($query) or die(mysql_error());
$nextId = mysql_insert_id();
echo $nextId;
所以我的问题是,当我第一次单击图像链接时,一切正常,我得到了空白行,动态行中的链接正常工作,生活很好。
但是当我第二次按下它时,页面会重新加载,但我没有得到我的新行。它只会返回刷新前的现有行。
我想知道是否有人可以看到我做错了什么并提供任何建议。(是的,我知道其中一些可能不是让它工作的理想方式,但在大多数情况下,它正在按照我需要的方式工作......而且我花了很多时间来完成所有这些工作部分相处)。
提前感谢您的任何建议。