簡體   English   中英

PHP回顯按鈕僅返回javascript中最后一個回顯按鈕的值

[英]PHP-echoed buttons return only the value of a last echoed button in javascript

我有一個問題,即為動態按鈕值定義var。 它適用於PHP,它在我的javascript中不起作用。

假設我有3個php-echoed按鈕,其值為1,2和3無論我點擊哪個按鈕,它都會返回值3,即使對於明顯具有值1或2的按鈕也是如此。為什么? 無法弄清楚。

好像javascript只獲取按鈕的最高值或最后一個值。 我是javascript的新手,所以我的知識非常小。

<script type='text/javascript'>
    function myFunction() {
        var msg_id = document.getElementById('like').value;
        var dataString = 'msg_id=' + msg_id;
            $.ajax({
                type: 'POST',
                url: 'ajaxjs.php',
                data: dataString,
                cache: false,
                success: function(html) {
                alert(html);
                }
            });
    }
</script>

然后我有php-echoed表單

while($row = mysql_fetch_array($msg_check)) {
    $msgid = $row['id'];
    echo "
    <form method='POST'>
    <input id='like' onclick='myFunction()' type='button' value='$msgid'>
    </form>

外部ajaxjs.php

$msgid = $_POST['msg_id'];
echo $msgid;

嘗試這個 :

  while($row = mysql_fetch_array($msg_check)) {
        $msgid = $row['id'];
        echo "<form method='POST'>
        <input data-id ="$msgid"  onclick='return myFunction(this)' type='button' value='$msgid'>
        </form>
  }

Ajax:

 <script type='text/javascript'>
         function myFunction(obj) {
           var element_id = $(obj).data('id');
            var msg_id = $(obj).val();
            var dataString = 'msg_id=' + msg_id;
            console.log(dataString ); //see in console
           $.ajax({
            type: 'POST',
            url: 'ajaxjs.php',
            data: dataString,
            cache: false,
            success: function(html) {
               alert(html);
           }
        });
     }
  </script>

暫無
暫無

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

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