簡體   English   中英

禁用提交按鈕,直到在數據庫上驗證字段

[英]Disable submit button until field is validated on database

我正在使用AJAX來驗證在表單字段中輸入的代碼,如果它有效,則會顯示一條消息,指出它是有效的,否則他們會收到一條消息,指出它是無效的。 這部分沒有問題。 我要做的下一件事情是禁用提交按鈕,直到代碼有效為止,否則用戶可以輸入他們想要的任何內容並仍然轉到下載頁面。 我的腳本如下:

$(document).ready(function(){

$("#orgname").change(function() { 

var usr = $("#orgname").val();

if(usr.length >= 2)
{
$("#status").html('<img align="absmiddle" src="images/loader.gif" /> Checking Code...');

$.ajax({ 
type: "POST", 
url: "checkcode.cfm", 
data: "orgname="+ usr, 
success: function(msg){ 

$("#status").ajaxComplete(function(event, request, settings){ 

if(msg == 'OK')
{ 
$("#orgname").removeClass('object_error'); // if necessary
$("#orgname").addClass("object_ok");
 document.getElementById("formsubmit").removeAttribute("disabled");
$(this).html(' <img align="absmiddle" src="images/accepted.png" /> ');
} 
else 
{ 
$("#orgname").removeClass('object_ok'); // if necessary
$("#orgname").addClass("object_error");
$(this).html(msg);
document.getElementById("formsubmit").setAttribute("disabled", "disabled");

}});}});}
else
{
$("#status").html('The Code should have at least 2 characters.');
$("#orgname").removeClass('object_ok'); // if necessary
$("#orgname").addClass("object_error");
}});});

我也是AJAX的新手。 如您所見,我將啟用和禁用腳本放置在正確的位置,但是它不起作用。 如果在按鈕上使用樣式或禁用屬性,它將保持禁用狀態。 同樣,如果在加載此頁面時使用JS禁用按鈕,則在整個過程中它將保持禁用狀態。

任何幫助表示贊賞。

使用$('#formsubmit').prop('disabled',true); $('#formsubmit').prop('disabled',false); 分別禁用和啟用該按鈕。 jQuery將處理所有瀏覽器差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM