我正在尝试为我的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>
答案 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
?>