1

確認ボタンをポップアップするphp内のjavascript関数を呼び出そうとしています。ユーザーが[はい]を押すと、ページに進みます。それ以外の場合は、同じページに留まります。書いたのですが、何が悪いのかわかりません。

php:

echo "<a href='edit_members.php?id=$studentid'>Edit</a> or <a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";

javascript(タグの直前に配置しました):

<script type="text/javascript">
    function deleteMembers(url, id) {
       var deleteMemberConfirmation = confirm("Are you sure you want to delete?");
       if(deleteMemberConfirmation) {
         window.location="http://mvcsf.com/admin/"+url+"?"+id;
        }
       else {
         window.location="http://mvcsf.com/admin/view_members.php";
       }     
     }
</script>

ページの上部で有効ERROR_REPORTING(E_ALL);にしましたが、何も返されません。私は何を間違えましたか?

編集:変数名をdeleteMemberConfirmationに変更しましたが、それでも何も機能しません。リンクをクリックするだけですが、何も起こりません。

4

3 に答える 3

4

deleteはjavascriptの予約キーワードであり、有効な変数名ではありません!

そして、あなたは引用符を間違えました:

"<a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">";
于 2013-03-11T23:01:47.250 に答える
2

'HTMLおよびJSで指定子として使用しています。あなたはそれをある場所と"他の場所で使わなければならないでしょう。

動作するバージョンは次のようになります。

echo "<a href=\"edit_members.php?id=$studentid\">Edit</a> or <a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";
于 2013-03-11T23:01:57.197 に答える
0

'エコーについては、一重引用符と二重引用符を使用する場合は注意してください"。このようにエスケープされない限り、一重引用符が別の一重引用符と出会うと閉じられます\'。二重引用符についても同じことが言えます。

href内でjavascriptを使用できるかどうかは100%わかりませんが、別の解決策は、javascript関数を呼び出すときにonclickを使用し、javascript:void(0)またはhref属性#を使用することです。

echo "<a href='edit_members.php?id=$studentid'>Edit</a> or <a href='javascript:void(0)' onclick=\"deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";

削除に関しては、削除はjavascriptの予約語であるdelため、削除語を別の単語(つまり、:)に変更します。

<script type="text/javascript">
function deleteMembers(url, id) {
    var del = confirm("Are you sure you want to delete?");
    if(del) {
        window.location="http://mvcsf.com/admin/"+url+"?"+id;
    }
    else {
        window.location="http://mvcsf.com/admin/view_members.php";
    }
}
</script>
于 2013-03-11T23:10:59.487 に答える