如何使用JavaScript来获取按键值(How to get button value using

2019-10-17 08:15发布

我试图找出如何让使用JavaScript一个按钮的值。 有使用PHP代码while语句生成的几个按钮,这样的nameid是所有的人都一样。 它们之间唯一的区别是值。

我的PHP代码部分:

while($row = mysql_fetch_array($result))
     {
     echo "<tr>";
     echo "<td align=\"center\"><input type=\"button\" id=\"details\" name=\"details\" value=\"" . $row['mcn'] . "\" onClick=\"MCNdetails()\"></td>";
     echo "</tr>";
     }

我正在努力实现的是,点击该按钮时,一个JavaScript警告中显示此记录的详细信息。

(仅供参考 - “法克尔”的形式命名,该表是的一部分。)

我的JavaScript代码:

function MCNdetails()
        {

        var buttonDetails = document.Faker.details;
        var buttonValue = buttonDetails.value;

        if (buttonValue === "2700-2057" )
            {
            alert ("Details are here");
            return;
            }
        else
            {
            alert ("No Dice " + buttonValue);
            return;
            }

        }

我有大约 300个记录为止。 当我点击任何按钮,我总是得到else语句。 我也尝试通过类似这样的ID获取元素:

function MCNdetails()
        {

        var buttonDetails = document.getElementById("details");
        var buttonValue = buttonDetails.value;

        if (buttonValue === "2700-2057" )
            {
            alert ("Details are here");
            return;
            }
        else
            {
            alert ("No Dice " + buttonValue);
            return;
            }

        }

但是,这将始终返回的第一个按钮的值,而不管哪一个我点击的。

我做了一些谷歌搜索以及搜索这个网站,我找不到在哪里产生的按钮此相同的情况。

任何帮助或指针将不胜感激。 感谢您的时间 :)

Answer 1:

尝试类似

<script type="text/javascript">
  function getVal(value)
  {

   alert(value);
  }
 </script>
 <input type="button" value="Add" onclick="getVal(this.value)">


Answer 2:

注意,使用相同的ID不止一个元素是无效的HTML,但大多数(所有?)浏览器往往不作大惊小怪,他们仍然会显示该页面很愉快。 这就是为什么当您尝试使用document.getElementById("details")它总是给你该ID的第一个按钮-如何将浏览器知道你的意思是哪一个?

话虽如此,如果你通过this在点击函数调用:

onClick=\"MCNdetails(this)\"

......这将使该函数直接引用被点击的特定按钮。 这样的话:

function MCNdetails(btn) {
    var buttonValue = btn.value;

    // etc
}

在这种情况下,你的按钮并不需要IDS的。 但是,如果你保持IDS,你应该找到一种方法,使他们独特的(例如,附加一个序列号给每个月底)。



文章来源: How to get button value using Javascript