1

フォームを送信しようとすると、奇妙な問題が発生します。私のページにはhtmlテーブルが含まれており、1つの列にはjs関数を呼び出すDBから行を削除するリンクがあります。

html/php 行は次のとおりです。

<input type="hidden" name="deleteid" value=0>
print ", <a href=\"\" class=\"action_link\" onClick=\"javascript:delete_line($id);\">delete</a>";

JavaScript関数は次のとおりです。

function delete_line(team_id) {
  if (confirm('<?php echo $txt_confirm_del_team;?>')){
    document.formName.elements.deleteid.value = team_id;
    document.formName.submit();
  }
}

「document.formName.submit();」という行にブレークポイントを設定すると、呼び出されたページはパラメータ「deletedid」を読み取ることができます。そうでない場合、パラメーターは送信によって呼び出されたページに渡されません。getElementById()ところで、 javascript関数で要素またはフォームを取得するために使用する場合、別の問題があります:それgetelementbyidはnullであると言います(構文を使用して取得できるためではありませんdocument.formName.elements.deleteid)

ありがとう

4

1 に答える 1

0

他のイベント ハンドラーが存在する可能性があります。Chrome でページを開いてアンカーを右クリックし、[要素の検査] を選択して、[イベント リスナー] タブでイベント ハンドラーを確認します。

あなたが投稿したコードに関する限り; それは何も悪いことではありません。以下は私にとってはうまくいきます:

<html>
<head>
    <title>test</title>
</head>
<body>
 <a onclick="javascript:delete_line(22);">delete</a>
    <script>
function delete_line(nr){
  console.log(nr);
}
    </script>
</body>
</html>
于 2013-10-25T17:48:10.403 に答える