2012-05-04 8 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> 

皆さんは、removeLink()のonclick関数を持つ私のアンカータグを見ることができますが、予想どおりに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>

が含まれており、あなたのアンカーのonclick行のコード以下この変化の

<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="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をありがとう –