2012-05-04 88 views
1
<html> 
<head> 
<script type="text/javascript"> 
function removeLink(i) 
{ 
    document.getElementById("tab2").deleteRow(i); 
} 
</script> 


</head> 
<body> 
<form action="forth.php" method="post"> 
<table width="600" border="1" id="tab2"> 


<?php 

    foreach($_POST as $key => $post2) 
    { 
    ?> 
    <tr> 
    <td> 
    <?php 
    echo $post2.'<br />'; 
    ?> 
    <input type="hidden" name="<?php echo $key;?>" value="<?php echo $post2;?>" /> 

    </td> 
    <td><a href="#" onClick="removeLink(this.parentNode.parentNode.rowIndex);">Remove</a></td> 
    </tr> 
    <?php 

    } 

    ?> 
    <tr> 
    <td><input type="submit" value="Next" /></td> 
    <td>&nbsp;</td> 
    </tr> 
    </table> 

</form> 
</body> 

家伙,你可以看到我的锚标记具有onclick函数removeLink(),但它并没有按预期删除整个tr。当点击锚点生成的链接时,它不执行任何操作。有没有像锚不支持内部对象定义在removeLink(this.parentNode.parentNode.rowIndex)的问题?家伙们如何帮助我们做到这一点删除锚不工作

+1

检查Firebug或任何其他错误跟踪工具的JavaScript错误。并让我们知道。 –

+1

你应该使用jquery – botbot

+0

我只需要使用js –

回答

1

使用jquery。包括<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

并尝试这个

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.deleteMe').click(function(){ 
     $(this).parent().parent().remove(); 
     //or u can hide that like $(this).parent().parent().hide.(); 
    }) 
}); 

</script> 


</head> 
<body> 
<form action="forth.php" method="post"> 
<table width="600" border="1" id="tab2"> 


<?php 

    foreach($_POST as $key => $post2) 
    { 
    ?> 
    <tr> 
    <td> 
    <?php 
    echo $post2.'<br />'; 
    ?> 
    <input type="hidden" name="<?php echo $key;?>" value="<?php echo $post2;?>" /> 

    </td> 
    <td><a href="#" class="deleteMe">Remove</a></td> 
    </tr> 
    <?php 

    } 

    ?> 
    <tr> 
    <td><input type="submit" value="Next" /></td> 
    <td>&nbsp;</td> 
    </tr> 
    </table> 

</form> 
</body> 
+0

他只需要使用普通的javascript –

+0

@bibin是的maulik是正确的我只需要使用普通的javascript来完成这项任务,我已经编码但不能调试我错了,它不工作 –

0

在你的锚第一下面的代码改变的onclick线。

onClick="removeLink(this);"> 

然后试试这个。

<script type="text/javascript"> 
function removeLink(obj){ 
var par=obj.parentNode; 
while(par.nodeName.toLowerCase()!='tr'){ 
par=par.parentNode; 
} 
i = par.rowIndex; 
document.getElementById("tab2").deleteRow(i); 
} 
</script> 
+0

非常感谢@maulik帮助你的生活救星 –