如果单击按钮但输入字段没有值jquery,如何向前端用户发出警报?
我对jquery非常陌生。我有一个游戏,我一直在努力建立 我在前面的一个问题中询问了如何执行基于动态创建的输入和按钮元素追加结果值。我能够成功地根据输入字段添加一个结果来提醒用户 但是现在我想提醒用户,如果用户没有输入任何输入,但仍然单击按钮,请继续尝试 这是我的密码如果单击按钮但输入字段没有值jquery,如何向前端用户发出警报?,jquery,html,Jquery,Html,我对jquery非常陌生。我有一个游戏,我一直在努力建立 我在前面的一个问题中询问了如何执行基于动态创建的输入和按钮元素追加结果值。我能够成功地根据输入字段添加一个结果来提醒用户 但是现在我想提醒用户,如果用户没有输入任何输入,但仍然单击按钮,请继续尝试 这是我的密码 $('#猜测检查')。在('click',函数(){ // //选择正确的输入 // $(this.prop('disabled',true); 让highestRating=$('#checkedImageContainer输入
$('#猜测检查')。在('click',函数(){
//
//选择正确的输入
//
$(this.prop('disabled',true);
让highestRating=$('#checkedImageContainer输入[type=number]')。映射(函数(){
返回{ele:$(this),val:parseFloat(this.value)};
}).get().sort(函数(a,b){
返回b.val-a.val;
})[0].ele;
$(“#第三条规则”).removeClass('hidden');
$(“#猜测图像容器”).removeClass('hidden');
log(#highestrated列表上删除的隐藏类);
$(“#guessImageContainer”).append(“Finish”按钮现在猜猜您最喜欢的图像的名称“ ”);
registerFinishButtonListener();
});
函数注册表FinishButtonListener(){
$(“#finishButton”)。在('单击',函数(){
日志(“单击完成按钮”);
让userGuessInput=$('#guessMyValue').val();
$(“#第四条规则”).removeClass('hidden');
$('#resultContainer')。removeClass('hidden');
//禁止用户再次单击按钮
$(this.prop('disabled',true);
//如果用户猜对了\/\/\/
if(userGuessInput==$('#favoriteImage').attr('name')){
$('resultText').append(“你猜对了!!
IMAGE=”+
$('#favoriteImage').attr('name'))
}
//如果用户猜错了\/\/\/
else if(userGuessInput!=$('#favoriteImage').attr('name')){
$('#resultText').append(“不幸的是你错了!!!
Imgae=“+$('#favoriteImage')).attr('name'))
}
//如果用户没有给出任何值\/\/\/
else if(userGuessInput.val()==0){
//重新启用按钮以避免被单击,因为用户仍然
//需要给inpuyt字段一个值
$(this.prop('disabled',false);
警惕(“确保你尽了最大努力!!LMAO”)
}
});
}
只需在任何其他逻辑发生之前添加处理用户猜测的逻辑,然后使用return语句防止代码继续执行,如下所示:
function registerFinishButtonListener() {
$('#finishButton').on('click', function (){
console.log("finish button clicked");
let userGuessInput = $('#guessMyValue').val();
$('#fourth-rule').removeClass('hidden');
$('#resultContainer').removeClass('hidden');
//Disable user from clicking the button again
$(this).prop('disabled', true);
//If the user guesses right\/\/\/
//IF THE USER GIVES NO VALUE\/\/\/
if (userGuessInput.val().length === 0){
//Re enable the button from being clicked because the user still
needs to give the inpuyt field a value
$(this).prop('disabled', false);
alert("Make sure you give it your best shot!!LMAO")
return;
}
else if (userGuessInput === $('#favoriteImage').attr('name')){
$('#resultText').append("You GUESSED RIGHT!!<br> IMAGE = " +
$('#favoriteImage').attr('name') )
}
//If the user guesses wrong\/\/\/
else if (userGuessInput != $('#favoriteImage').attr('name')){
$('#resultText').append("Unfortunately your WRONG!!!<br> Imgae =
" + $('#favoriteImage').attr('name'))
}
});
您应该与空字符串“not 0userGuessInput.val()=”?
userGuessInput
已经是值,所以您做了$(“#guessMyValue”).val().val()
。您还与0
@Max Happy to help:)进行了比较,这是否是因为编码认为从上到下循环,所以如果表达式位于底部,计算机就永远无法到达它?正确。虽然我不会说“循环”是正确的术语,但是是的,执行路径永远不会到达底部的逻辑块,因为其他条件首先被评估为true。
userGuessInput.val().length