如何使用Javascript获取按钮值

And*_*Fox 1 javascript php mysql onclick button

我想弄清楚如何使用 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>";
     }
Run Code Online (Sandbox Code Playgroud)

我想要实现的是,当单击此按钮时,会显示带有此记录详细信息的 JavaScript 警报。

(仅供参考 - “Faker”是该表所属的表单名称。)

我的 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;
            }

        }
Run Code Online (Sandbox Code Playgroud)

我有大约。到目前为止有 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;
            }

        }
Run Code Online (Sandbox Code Playgroud)

但是无论我单击哪个按钮,它总是会返回第一个按钮的值。

我已经做了一些谷歌搜索以及搜索这个网站,但我找不到生成按钮的相同场景。

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

Nul*_*teя 6

尝试类似

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

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


nnn*_*nnn 5

请注意,对多个元素使用相同的 id 是无效的 html,尽管大多数(所有?)浏览器往往不会对此大惊小怪,并且它们仍然会非常愉快地显示页面。这就是为什么当你尝试使用document.getElementById("details")它时总是给你第一个带有该 id 的按钮 - 浏览器如何知道你指的是哪一个?

话虽如此,如果您在this单击时传入函数调用:

onClick=\"MCNdetails(this)\"
Run Code Online (Sandbox Code Playgroud)

...这将为该函数提供对所单击的特定按钮的直接引用。那么:

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

    // etc
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,你的按钮根本不需要 id。但是,如果您确实保留了 ID,则应该找到一种方法使它们唯一(例如,在每个 ID 的末尾附加一个序列号)。