我是编程新手,我从头开始创建了以下Javascript函数。但是,它没有正确执行。它有一些错误,但是,我无法清除错误。请帮助我,
<script type = "text/javascript">
function GetSelectedRow(lnk) {
var row = lnk.parentNode.parentNode;
if (row.cells[0].innerHTML == "checkbox")
{
var ItemCode = row.cells[1].innerHTML;
var ItemName = row.cells[2].innerHTML;
var Unit = row.cells[3].innerHTML;
var Price = row.cells[4].innerHTML;
var StockQty = row.cells[5].innerHTML;
document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode;
document.getElementById('<%=TxtIName.ClientID %>').value = ItemName;
document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit;
document.getElementById('<%=TxtPrice.ClientID %>').value = Price;
document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty;
return false;
}
else (row.cells[0].innerHTML != checkbox)
{
var ItemCode = row.cells[0].innerHTML;
var ItemName = row.cells[1].innerHTML;
var Unit = row.cells[2].innerHTML;
var Price = row.cells[3].innerHTML;
var StockQty = row.cells[4].innerHTML;
document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode;
document.getElementById('<%=TxtIName.ClientID %>').value = ItemName;
document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit;
document.getElementById('<%=TxtPrice.ClientID %>').value = Price;
document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty;
return false;
}
}
</script>
答案 0 :(得分:-1)
如果你实际上想要测试第二个条件,如果第一个条件为假,那么,
else (row.cells[0].innerHTML != checkbox)
应该是:
else if(row.cells[0].innerHTML != checkbox)
但是您的else
条件与if
条件相同(除了您忘记了checkbox
中else
周围的引号),所以如果row.cells[0].innerHTML == "checkbox"
那么你的代码永远不会命中else
分支。 你很可能根本不想要其他情况。
另外,如果你的函数朝向这两个路径中的一个(真/假),并且它们都返回false
那么似乎你正在使用它来退出函数,这是不必要的,因为你的函数无论如何,在if
语句之后终止,或者您希望false
始终是返回值,这没有任何意义。
最后,真正分支中大约一半的代码与假分支中的代码相同。该代码无论如何都需要运行,所以只需在两个分支之外编写一次,让你的if
分支机构只关心每种情况下的不同之处(DRY:&#34; Don&#39 ; t重复自己&#34;是任何编程语言的最佳实践。)
function GetSelectedRow(lnk) {
var ItemCode, ItemName, Unit,Price, StockQty;
var row = lnk.parentNode.parentNode;
if (row.cells[0].innerHTML == "checkbox") {
ItemCode = row.cells[1].innerHTML;
ItemName = row.cells[2].innerHTML;
Unit = row.cells[3].innerHTML;
Price = row.cells[4].innerHTML;
StockQty = row.cells[5].innerHTML;
} else {
ItemCode = row.cells[0].innerHTML;
ItemName = row.cells[1].innerHTML;
Unit = row.cells[2].innerHTML;
Price = row.cells[3].innerHTML;
StockQty = row.cells[4].innerHTML;
}
document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode;
document.getElementById('<%=TxtIName.ClientID %>').value = ItemName;
document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit;
document.getElementById('<%=TxtPrice.ClientID %>').value = Price;
document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty;
}