1

タイトルが示すように、チェックボックスの検証に問題があります。したがって、ユーザーを表示するphpファイルに次の行があります。

<a href='#' onclick='if(confirm("Are you sure?"))checkbox.submit()' class='bt_red'><span class='bt_red_lft'></span><strong>Delete items</strong><span class='bt_red_r'></span></a>

私のdelete_items.phpファイルに次のように書きました:

$checkbox = $_REQUEST['checkbox'];
if(!isset($checkbox)) {
//diplay an error message :"No user selected"
} else {
if(isset($checkbox)) {
// deleting users script
}
}

2つのケースでは、「アイテムの削除」をクリックすると、チェックボックスが設定されていないときに表示したくないjavascript確認メッセージが表示されます( if(!isset($checkbox)) ステートメント)。

ご協力ありがとう御座います。

4

2 に答える 2

0

リンクの onclick ステートメント内の JavaScript コードに、クリックされたチェックボックスの数を認識させたいと思うでしょう。これはかなり簡単です。Jquery を使用する場合は、次のようにクエリを実行できます。

$("input[type=checkbox]:checked").size();

これは、ページの任意の場所でチェックされているチェックボックスの数を評価するだけなので、親要素またはクラスなどでクエリを絞り込む必要があります。

チェックされたチェックボックスの数がある場合、次のようないくつかの AND と OR の問題です。

$("input[type=checkbox]:checked").size() > 0 && (confirm("do you really want to do this?"));

チェックボックスがチェックされている場合、最初の式は true と評価されるため、2 番目の式は評価されますが、それ以外の場合は評価されません。

お役に立てれば

編集: またはの代わりに if を使用することもできます。多分それはもう少し馴染みがあります

于 2012-09-18T13:04:21.817 に答える
0

まず、コードにはあいまいな行がたくさんあります。このように同じことができます

if(!isset($_REQUEST['checkbox'])) {
  //diplay an error message :"No user selected"
} else  {
  //delete user's script
}

no が設定されている場合に確認メッセージが必要ない場合は、次のcheckboxようにします。

<?php if(isset($_REQUEST['checkbox'])) {
        echo '<a href="#" onclick="if(confirm(\"Are you sure?\"))checkbox.submit()" class="bt_red">';
     } else {
        echo '<a href="#" class="bt_red">';
     }
?>
    <span class='bt_red_lft'></span>
    <strong>Delete items</strong>
    <span class='bt_red_r'></span>
</a>
于 2012-09-18T12:40:42.037 に答える