簡體   English   中英

單擊調用JavaScript的函數,然后重定向到php頁面

[英]Click function calling javascript then redirecting to php page

我想對我的帖子進行編輯。 到目前為止,您可以從管理頁面發布並查看您的帖子,該頁面由mySQL操作,但是不久前我想創建一個編輯按鈕。 從理論上講,當您單擊“編輯”按鈕時,javascript將獲取post元素的ID,然后在運行mysql查詢(其中id = PostID)后,它將重定向至頁面,您可以在其中編輯帖子。 html輸入值是從mysql讀取的數據,但是javascript不想啟動。

帖子的php / html看起來像這樣:

    while($row = mysqli_fetch_array($run)) {
echo '<article id="post" data-postid="'.$row["id"].'">
    <ul>
        <li class="id">'.$row["id"].'</li>
        <li class="title">'.$row["title"].'</li>
        <li class="postedBy">'.$row["postedBy"].'</li>
        <li class="postedBy">'.$row["dDate"].'</li>
        <li class="prio">'.$row["priority"].'</li>
        <li class="icons"><div class="do" data-action="edit"><i class="fa fa-pencil-square-o"></i></div><div class="do" data-action="delete"><i class="fa fa-times"></i></div></li>
    </ul>
</article>';

Javascript看起來像這樣(它稱為admin_edit.js):

    $('#post').on('click', '.do', function(){
        var self = $(this); // cache $this
        var action = self.data('action'); // grab action data edit/delete
        var postid = parent.data('postid'); // grab post id from data-postid

        // edit action
        if (action == 'edit') {
            // send js to php
            $.post("../admin/post_edit.php", { postId: postid } );
        }
        // delete action
        else if (action == 'delete'){
            // send ajax request
            // Something.
        };

    });

要了解我的文件夾結構,請執行以下操作:我們位於root / admin文件夾中,並且位於root / admin / admin.php頁面上。 javascript位於root / js文件夾中,稱為root / js / admin_edit.js。

為什么JS不想要啟動?

提前致謝 !

您的#post定義click事件時不存在。 您需要在事件已經存在時對其進行定義。 您可以為#main注冊事件,但也可以在請求的回調中注冊事件。 如果可能的話,最好在回調中注冊它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM