我做了某种形式的验证。用户可以输入组名和组描述。使用 jQuery,我正在验证组名是否为空,是否应禁用空提交按钮。现在我在禁用提交按钮时遇到问题。如果我单击组名称所在的输入标签,则验证正常,并且提交按钮被禁用,但是如果我只是单击提交按钮,而不触及其他任何内容,那么尽管组名称为空,但 jQuery 跳过验证并触发提交按钮. 我尝试使用 jQuery 将输入标记设置为焦点,但它仅在我实际单击该输入标记时才有效。
提交按钮是“saveGroup”按钮。
有人可以告诉我如何在这个输入标签上调用点击事件,或者我可以使用其他一些验证技术。
<div class="newGroupDiv">
<label>Title: </label><input type="text" id="groupTitle" onblur="checkTitle();"><br>
<label>Description:</label><br>
<textarea id="groupDescription"></textarea><br><br>
<button id="saveGroup">Save</button>
<button id="cancelGroup">Cancel</button>
<label id="groupError"></label>
</div>
---------------------------------------------------------------------------------
$("#saveGroup").click(function(){
var variable = checkTitle();
if(variable == true){
if($("#groupError").html() == ""){
$(".columns").append('<ul class="'+ $("#groupTitle").val() +'"><li class="naslov">'+ $("#groupTitle").val() +'</li></ul>');
$("ul").sortable({containment : 'document',
tolerance: 'pointer',
cursor: 'pointer',
revert: 'true',
opacity : 0.6,
connectWith : "ul",
placeholder: 'border',
items : 'li:not(.naslov)',
start : function(){
check = false;
$(".readContent").fadeOut(300);
}, stop : function(){
check = true;
}}).disableSelection();
$.post("addGroup.php", {'title' : $("#groupTitle").val(), 'description' : $("#groupDescription").val(),
'color' : $("#colorHex").html(), 'color2' : $("#colorHex2").html()}, function(){
window.location.reload();
});
}
}
});
--------------------------------------------------------------------------------
var checkTitle = function(){
$.post("checkTitle.php", {'title' : $("#groupTitle").val()}, function(data){
if(data == 'exist') $("#groupError").html("Group already exists");
if(data == 'no title') $("#groupError").html("Group title can't be empty");
else if(data == 'ok') $("#groupError").html("");
});
return true;
}
使用这个“变量”,我尝试完成某种回调等待,所以当这个变量从函数中获取结果时,它应该继续执行其余代码,但我不确定它是否有效。