获取按钮文本值以确定变量值

时间:2016-07-23 17:13:31

标签: javascript php button text

我正在尝试为我的wordpress网站编写一个函数,该函数首先获取按钮的文本值,然后从中确定变量的值。

我有三个按钮。 每个都有相同的文本值,“选择项目”。我编写了一个javascript函数(简化如下,仅显示一个示例),单击时将文本值更改为“Selected”。现在我需要找到一种方法来确定按钮的文本值是否已更改为“已选择”,然后将名为$ amount的变量更改为新值。我知道这可以用jquery来完成,但我试图避免它的原因是因为我需要它与特定的wordpress函数一起工作并且在function.php中调用脚本会让人感到困惑。我试图将按钮更改为输入并将它们放在一个表单中,这样我就可以尝试$ _POST方法,但我对此的理解是$ _POST方法仅适用于提交,我需要在任何提交之前更改变量。

<input name="name1" type="text"/>
<div class="error"></div>

<input name="name2" type="text"/>
<div class="error"></div>

<input name="name3" type="text"/>
<div class="error"></div>

2 个答案:

答案 0 :(得分:1)

您似乎已经在页面上包含了jQuery,所以我不明白为什么您不想使用jQuery设置$amount变量?

获得所需功能的最简单方法如下:

$(function() {                     
    $('a.selectitem1').click(function() {  
        $('a.selectitem1').text('Selected');
        $('a.selectitem2').text('Select item');
        $('a.selectitem3').text('Select item');
        $amount = 50;
    });

    // equivalently for selectitem2 and selectitem3
});

答案 1 :(得分:0)

我会使用AJAX:

在以下表单文件中:

<!DOCTYPE html>
<html>
<body>

<form action=""> 
<input type="button" id="txt1" value="Select Item" name="£10.00" onclick="showValue(this.name)">
<input type="button" id="txt1" value="Select Item" name="£15.00" onclick="showValue(this.name)">
<input type="button" id="txt1" value="Select Item" name="£20.00" onclick="showValue(this.name)">
</form>

<p>Value: <span id="txtValue"></span></p> 

<script>
function showValue(str) {
  var xhttp;
  if (str.length == 0) { 
    document.getElementById("txtValue").innerHTML = "";
    return;
  }
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      document.getElementById("txtValue").innerHTML = xhttp.responseText;
    }
  };
  xhttp.open("GET", "getinfo.php?q="+str, true);
  xhttp.send();   
}
</script>

</body>
</html>

然后创建一个名为getinfo.php的文件并添加以下内容:

 <?php
// Array with names
$a[] = "£10.00";
$a[] = "£15.00";
$a[] = "£20.00";


// get the q parameter from URL
$q = $_REQUEST["q"];

$value = "";

if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($value === "") {
                $value = $name;
            } else {
                $value .= ", $name";
            }
        }
    }
}

echo $value === "" , $value;
//More code here for your selected $value variable
?>