簡體   English   中英

從PHP插入DOM的動態變量。 無法將該變量從DOM傳遞到Javascript

[英]dynamic variable inserted from PHP into DOM. Having trouble passing that variable from DOM to Javascript

我正在嘗試創建一個系統,使人們可以對問題的答案進行投票。

從數據庫中獲取答案,然后在foreach中顯示。

對於投票系統,我需要將某些變量傳遞給JS來做一些AJAX魔術,但是,我只是將變量傳遞給JS的第一個障礙。

此刻的代碼如下所示:

<?php
            if ($answers->num_rows() == 0) {
                echo '<p>Be the first to answer this question!</p>';
            } else {
                foreach ($answers->result() as $row)
                {
                    echo '<div class="answers-to-question">';
                    echo '<form>'; //form for the purpose of voting
                    echo '<input type="hidden" name="a_id" value="'.$row->a_id.'">'; //pass this to voting script
                    echo '<input type="hidden" name="u_id" value="'.$row->username.'">'; //pass this to voting script
                    echo '<pre>'.$row->answer.'</pre>';
                    echo '<p class="green">answered '.$row->timestamp.' by <i class="green">'.$row->username.'</i></p>';
                    echo '<input type="button" name="upvote" value="upvote" onClick="upvote(this.form.u_id);">';
                    echo '</form>';
                    echo '</div>';

                }
            }               
            ?>

所以我有一個按鈕,單擊后應該在JS函數中傳遞變量

按鍵

echo '<input type="button" name="upvote" value="upvote" onClick="upvote(this.form.u_id);">';

使用Javascript

$(document).ready(function(){

        function upvote(username){

            console.log(username);

        }
    });

這不起作用,並且出現錯誤:

Uncaught TypeError: object is not a function   onClick

如果有幫助,我正在使用Codeigniter和JQuery框架

任何幫助,不勝感激

使用jQuery而不是使用嵌入式JavaScript來完成所有操作-

$(document).ready(function(){

    function upvote(username){
        console.log(username);
    }

    $('input[name="upvote"]').click(function() {
        var username = $(this).parent('form').find('[name="u_id"]').val();
        upvote(username);
    });
});

這是將兩個變量發送到函數的UPDATE

僅為了添加一些信息,代碼就有兩個問題:

  1. 您在調用函數時就像在按鈕上一樣,因此這就是為什么該消息說它不是函數,而是元素。

  2. 該函數在de .ready()語句中聲明,因此該函數不存在。 您必須在ready()語句之前聲明它。

暫無
暫無

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

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