来自隐藏表单字段的变量值不适用于 if else
Variable value from hidden form field not working with if else
我正在使用带有动态文本扩展和联系表格数据库的联系表格 7。
我有一个将配额值声明为 60 的表格。我使用 Contact Form DB 的简码 [cfdb-value] 给出最大数量的 id=k_quota (value="60") 和 SUM 每个输入来自 id=k_amount(在本例中为 value="9")。 k_amount 每次提交表单时都会增加。到目前为止,一切都在按预期进行。
当 k_amount 大于或等于 k_quota 我希望表格消失并显示一条消息。昨天这很有效,但今天却没有。为什么这不起作用?
这是我拥有的精简代码:
function counter() {
var x = document.getElementById("k_amount").value;
var y = document.getElementById("k_quota").value;
if (x >= y) {
document.getElementById("coupon").style.display = "none";
document.getElementById("notification").style.display = "inline";
} else {
document.getElementById("coupon").style.display = "inline";
document.getElementById("notification").style.display = "none";
}
}
<body onload="counter()">
<form id="coupon">
<span class="wpcf7-form-control-wrap amount">
<span class="wpcf7-form-control wpcf7-radio">
<label><span class="wpcf7-list-item-label">1</span><input type="radio" name="amount" value="1" checked="checked" /></label>
<label><span class="wpcf7-list-item-label">2</span><input type="radio" name="amount" value="2" /></label>
<label><span class="wpcf7-list-item-label">3</span><input type="radio" name="amount" value="3" /></label>
</span>
</span>
<input type="hidden" name="quota" value="60" class="wpcf7-form-control wpcf7-hidden" />
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="9" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_amount" aria-invalid="false" />
</span>
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="60" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_quota" aria-invalid="false" />
</span>
</form>
<div id="notification">
<p>
All is gone!
</p>
</div>
默认情况下,输入返回字符串值,>=
运算符会将字符串与默认字母顺序进行比较,一次一个字符("5" >= "10" === true
因为“5”在“之后” 1" 按字母顺序)
您需要先将数字解析为数字,然后再进行比较。
例如var x = parseInt(document.getElementById("k_amount").value);
完整示例:
function counter() {
var x = parseInt(document.getElementById("k_amount").value);
var y = parseInt(document.getElementById("k_quota").value);
if (x >= y) {
document.getElementById("coupon").style.display = "none";
document.getElementById("notification").style.display = "inline";
} else {
document.getElementById("coupon").style.display = "inline";
document.getElementById("notification").style.display = "none";
}
}
<body onload="counter()">
<form id="coupon">
<span class="wpcf7-form-control-wrap amount">
<span class="wpcf7-form-control wpcf7-radio">
<label><span class="wpcf7-list-item-label">1</span><input type="radio" name="amount" value="1" checked="checked" /></label>
<label><span class="wpcf7-list-item-label">2</span><input type="radio" name="amount" value="2" /></label>
<label><span class="wpcf7-list-item-label">3</span><input type="radio" name="amount" value="3" /></label>
</span>
</span>
<input type="hidden" name="quota" value="60" class="wpcf7-form-control wpcf7-hidden" />
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="9" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_amount" aria-invalid="false" />
</span>
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="60" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_quota" aria-invalid="false" />
</span>
</form>
<div id="notification">
<p>
All is gone!
</p>
</div>
我正在使用带有动态文本扩展和联系表格数据库的联系表格 7。
我有一个将配额值声明为 60 的表格。我使用 Contact Form DB 的简码 [cfdb-value] 给出最大数量的 id=k_quota (value="60") 和 SUM 每个输入来自 id=k_amount(在本例中为 value="9")。 k_amount 每次提交表单时都会增加。到目前为止,一切都在按预期进行。
当 k_amount 大于或等于 k_quota 我希望表格消失并显示一条消息。昨天这很有效,但今天却没有。为什么这不起作用?
这是我拥有的精简代码:
function counter() {
var x = document.getElementById("k_amount").value;
var y = document.getElementById("k_quota").value;
if (x >= y) {
document.getElementById("coupon").style.display = "none";
document.getElementById("notification").style.display = "inline";
} else {
document.getElementById("coupon").style.display = "inline";
document.getElementById("notification").style.display = "none";
}
}
<body onload="counter()">
<form id="coupon">
<span class="wpcf7-form-control-wrap amount">
<span class="wpcf7-form-control wpcf7-radio">
<label><span class="wpcf7-list-item-label">1</span><input type="radio" name="amount" value="1" checked="checked" /></label>
<label><span class="wpcf7-list-item-label">2</span><input type="radio" name="amount" value="2" /></label>
<label><span class="wpcf7-list-item-label">3</span><input type="radio" name="amount" value="3" /></label>
</span>
</span>
<input type="hidden" name="quota" value="60" class="wpcf7-form-control wpcf7-hidden" />
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="9" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_amount" aria-invalid="false" />
</span>
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="60" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_quota" aria-invalid="false" />
</span>
</form>
<div id="notification">
<p>
All is gone!
</p>
</div>
默认情况下,输入返回字符串值,>=
运算符会将字符串与默认字母顺序进行比较,一次一个字符("5" >= "10" === true
因为“5”在“之后” 1" 按字母顺序)
您需要先将数字解析为数字,然后再进行比较。
例如var x = parseInt(document.getElementById("k_amount").value);
完整示例:
function counter() {
var x = parseInt(document.getElementById("k_amount").value);
var y = parseInt(document.getElementById("k_quota").value);
if (x >= y) {
document.getElementById("coupon").style.display = "none";
document.getElementById("notification").style.display = "inline";
} else {
document.getElementById("coupon").style.display = "inline";
document.getElementById("notification").style.display = "none";
}
}
<body onload="counter()">
<form id="coupon">
<span class="wpcf7-form-control-wrap amount">
<span class="wpcf7-form-control wpcf7-radio">
<label><span class="wpcf7-list-item-label">1</span><input type="radio" name="amount" value="1" checked="checked" /></label>
<label><span class="wpcf7-list-item-label">2</span><input type="radio" name="amount" value="2" /></label>
<label><span class="wpcf7-list-item-label">3</span><input type="radio" name="amount" value="3" /></label>
</span>
</span>
<input type="hidden" name="quota" value="60" class="wpcf7-form-control wpcf7-hidden" />
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="9" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_amount" aria-invalid="false" />
</span>
<span class="wpcf7-form-control-wrap inventory">
<input type="hidden" name="inventory" value="60" size="40" class="wpcf7-form-control wpcf7dtx-dynamictext wpcf7-dynamichidden" id="k_quota" aria-invalid="false" />
</span>
</form>
<div id="notification">
<p>
All is gone!
</p>
</div>