【发布时间】:2018-04-03 19:34:24
【问题描述】:
仅当用户在文本框中输入正确的验证码(显示为图像)值时,我才尝试为表单启用提交按钮。验证码是文本框的 id。
对于此文本框上的每个键,都会有一个 AJAX 请求,该请求将发送到一个名为 ErrorProcessing.php 的文件。然后它将提供一个 HTML 变量,该变量是 "wrong text entered" 或 null。然后仅基于该值启用提交按钮。这行得通。
但是问题在于,对于该文本框上的每个键,提交按钮首先变为启用,然后变为禁用。最后没关系。但是,如果 HTML 变量是null,我正试图摆脱为每个键启用提交按钮。其余代码没问题。 register-submit2 是提交按钮的 ID。谁能帮帮我?
$(document).ready(function() {
$("#captcha").keyup(function(e) {
var captcha = $("#captcha").val();
var datastring = 'captcha=' + captcha;
$.ajax({
type: "POST",
url: "my_url/ErrorProcessing.php",
data: datastring,
success: function(html) {
if (html == "wrong text entered") {
$('#register-submit2').prop('disabled', 'true');
} else {
$('#register-submit2').prop('disabled', 'false');
}
}
});
});
});
【问题讨论】:
-
为什么不禁用默认按钮?只有当验证码正确时,才启用它?
-
我已经尝试过了。但是即使值错误,文本框提交按钮上的每个键仍然启用
-
你能
console.loghtml 回复并在这里发布吗? -
disabled属性采用实际的布尔值,而不是字符串版本。非空字符串将被视为真。因此,您显示的代码永远不会启用该按钮。提供minimal reproducible example -
谢谢......
标签: javascript php jquery html forms