从HTML调用Javascript函数 [英] Calling a Javascript function from HTML
问题描述
我有一个包含5行(说)的HTML表格,它正在网页上显示。该表的第一列是 RowID (对每行都是唯一的),每行的最后一列是 [X] 按钮(点击时将删除行)。整个表格位于 < div>
元素中,其中 id =cartmain
< div id =cartmain>
< table>
< tr>
< td> ....< / td>
< td> ....< / td>
< td> < a href =#onclick =removeitem('id1')> [X]< / a> < / TD>
< / tr>
..
..
< / table>
< / div>
这是我删除行的方式:
第一步:当用户点击[X]按钮时,一个XMLHTTPRequest函数将发送消息给每一行唯一标识符的PHP代码。在PHP代码删除行的过程中,DIV元素显示正在加载...
document.getElementById(cartmain)。innerHTML =Loading ...
第二步: PHP代码将从表格)并将返回剩余的表。
<?php
//从数据库/表中删除行。
//将剩余表格发送回XMLHTTPRequest函数...
echo< table>;
echo< tr>< td> ...< / td>
< td> ...< / td>
< td>< a href = \#\onclick = \removeitem('id1')\> [X]< / a>< / td>;
回声< / tr>;
...
...
...
echo< / table>;
?>
然后通过使用下面的代码行,从PHP代码接收到的剩余表格显示在DIV元素中:
document.getElementById(cartmain)。innerHTML = removeitem.responseText;
我的问题:
假设我有5行的表格。当我点击删除按钮时,该行被成功删除,然后表中显示剩余的4行。问题来了:当我想从表中删除另一行时:没有发生任何事情。换句话说,如果我再次点击某行的 [X] ,则不会有任何反应。 XMLHTTPRequest函数未被调用。在理想情况下,应该使用该唯一的RowID再次调用XMLHTTPRequest函数,然后使用剩余的3行显示表。
重要提示:当我刷新页面时,我可以删除另一行。但这一次,我也只能删除一行。要再删除一个,我必须再次刷新页面。
有人能够在这里发现问题吗?请帮忙。
注意:我的表格实际上是一个购物车,其中包含每行中的产品。 [X] 按钮实际上表示从购物车中删除商品。
以下是JavaScript代码:
function removeitem(itemid)
{
alert(要删除的项目是:+ itemid);
if(window.XMLHttpRequest)
{
removeitem = new XMLHttpRequest();
}
else
{
removeitem = new ActiveXObject(Microsoft.XMLHTTP);
}
removeitem.onreadystatechange = function()
{
if(removeitem.readyState == 4&&&remove; removeitem.status == 200)
{
document.getElementById(cartmain)。innerHTML = removeitem.responseText;
}
else if(removeitem.readyState< 4)
{
document.getElementById(cartmain)。innerHTML =Loading ...;
}
}
var linktoexecute =cart.php?option = 5& itemid =+ itemid; //选项= 5表示我想要删除ITEMID的项目。
removeitem.open(GET,linktoexecute,true);
removeitem.send();
函数removeitem显示一条警告要删除的项目是:123第一次,但不显示第二次。当我在Firebug控制台中检查时,第二次出现以下错误:
removeitem不是函数
Please help !!
我所有的Javascript函数都在一个单独的文件(sc.js)中,我使用<$ c $ HEAD
中的