php ajax点击保存按钮,关于php:在AJAX成功后重新启用提交按钮

在AJAX请求成功后,我一直在尝试启用Submit Button。 验证在PHP文件中,其中包含以下代码

if(!empty($_POST["username"])) {

$fetch ="SELECT * FROM student WHERE std_username='" . $_POST["username"] ."'";

$result = mysqli_query($con, $fetch);

$user_count = mysqli_num_rows($result);

if($user_count>0) {

echo" Username Not Available.";

}else{

echo" Username Available.";

}

}

这是AJAX

function checkAvailability() {

$("#loaderIcon").show();

jQuery.ajax({

url:"check_availability.php",

data:'username='+$("#username").val(),

type:"POST",

success:function(data){

$("#user-availability-status").html(data);

$("#loaderIcon").hide();

},

error:function (){}

});

}

我已经使用了这是成功它做的是禁用提交按钮,即使数据匹配请求,按钮保持禁用状态

$("#submit").attr("disabled", true);

并且错误地跟着

$("#submit").attr("disabled", false);

我已经完成了这些问题并尝试了解决方案,但这些解决方案对我来说并不奏效。

jQuery:运行'success:'后重新启用禁用的输入按钮

在AJAX请求时禁用按钮

这是HTML

Check Username:

Check Username:

提前致谢!

在成功事件上,您需要将disabled属性值设置为false。 这将重新启用该按钮

$("#submit" ).prop("disabled", true ); //disable when ajax call starts

jQuery.ajax({

url:"check_availability.php",

data:'username='+$("#username").val(),

type:"POST",

success:function(data){

$("#submit" ).prop("disabled", false ); //enable it back

$("#user-availability-status").html(data);

$("#loaderIcon").hide();

},

error:function (){}

});

编辑:根据评论,

看起来你正在尝试启用/禁用基于你正在做的检查db表的检查按钮。 目前你的php脚本正在返回一个人类可读的字符串。 也许你可以改变你的php脚本来返回你的javascript代码可以使用的标志值。

if($user_count>0) {

echo"no";

}else{

echo"available";

}

在您的成功处理程序中检查此值并隐藏/显示按钮/消息

success:function(data){

$("#loaderIcon").hide();

var msg="Not available";

if(data=="available")

{

$("#submit" ).prop("disabled", false ); //enable it back

msg="Username available";

}

$("#user-availability-status").html(msg);

},

我不是一个PHP人。 可能有一种方法可以从PHP页面返回JSON结构,该页面可以返回要在消息div中显示的标志和消息。 你也可以尝试一下。

现在看起来像这样,是不是正确的? success:function(data){$("#user-availability-status")。html(data); $("#loaderIcon")隐藏()。 $("#submit")。prop("disabled",false); },error:function(){}});

是。如果您在页面中没有任何其他脚本错误并且您正在从ajax调用中获取成功事件,它应该可以工作。检查您的浏览器控制台是否存在脚本错误,并在成功处理程序中放置console.log('success occured')以验证它

我已经尝试了上面的代码片段,但如果输入的用户名与DB中的用户名匹配,则仍然不会禁用该按钮,反之亦然:(

我已经把console.log('成功发生')并且结果没有任何错误,它工作正常但按钮问题仍然存在:(

您的问题是关于在成功处理程序中重新启用提交按钮。我的答案与验证脚本对db的作用无关。

这是一个查询问题吗?

非常感谢!这对我有用。我对这些事情不熟悉,无论如何我都会犯下愚蠢的错误!爱!

别客气。很高兴我能提供帮助:)不要担心每个人都会从这些愚蠢的错误中吸取教训。:)

另一个小问题:我使用它来验证用户名,无论如何我可以搞砸这些数据:'username ='+ $("#username")。val(),检查多个数据?或者我们如何使用数据来检查多个数据?你很清楚我不知道这些事情的确切条款

成功使用:

$("#submit").removeAttr("disabled");

代替

$("#submit").attr("disabled", false);

要再次启用该按钮,您需要完全删除disabled属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值