If/Else条件不运行第二次调用函数
If/Else Conditional not running the second time I call the function
第一次运行函数时,两个条件都可以工作。但是当我第二次运行该函数时,新值"cute"不会改变背景图像。
$("#sbmt-button").click(newImage);
function newImage(){
event.preventDefault();
var cute = $("#cute").val();
$("#cute").val(" ");
if (cute == "kittens") {
$("body").attr("class", "kittens");
console.log(cute);
} else if (cute == "puppies"){
$("body").attr("class", "puppies");
console.log(cute);
}
}
http://codepen.io/ElaineM/pen/jbYbwj 你的代码实际上是工作的,但唯一的事情是你需要使用$("#cute").val("");
而不是$("#cute").val(" ");
,它放了一个空格,它不匹配的值
同样,您也可以尝试这样做比较,通过修剪空格:
function newImage(){
event.preventDefault();
var cute = $("#cute").val().trim();
$("#cute").val(" ");
if (cute == "kittens") {
$("body").attr("class", "kittens");
console.log(cute);
} else if (cute == "puppies"){
$("body").attr("class", "puppies");
console.log(cute);
}
}
$("#cute").val(" ");
行在文本框中留出一个空格。您需要的是一个空字符串:$("#cute").val("");
用空字符串替换它似乎给你想要的输出
PROBLEM
您需要使用事件对象e
传递给事件处理程序作为参数,否则您的button
充当提交按钮,页面得到刷新。
请使用以下代码:
function newImage(e){
e.preventDefault();
var cute = $("#cute").val();
console.log(cute);
if (cute === "kittens") {
$("body").attr("class", "kittens");
} else if (cute === "puppies"){
$("body").attr("class", "puppies");
}
// Reset input
$("#cute").val("");
}
相关文章:
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- 为什么第二次调用isNaN时它不起作用
- 谷歌脚本在第二次调用Gmail后返回null
- 对已定义函数的第二次调用;不起作用
- AngularJS自定义过滤器调用了两次,并在第二次调用时删除输入数据
- Google Maps V3 fitBounds 在第二次调用具有相同边界时会缩放到更近的视图
- 电话间隙.js没有第二次调用
- 地理编码在第二次调用时返回(NaN、Nan)
- 第二次调用主干时在回调中丢失上下文
- Breeze-js调用元数据,但不调用't对服务器进行第二次调用
- .replacewith在第二次调用时不起作用
- setInterval在第二次调用后不会停止
- If/Else条件不运行第二次调用函数
- Js闭包:函数在第二次调用时失败
- 在第二次调用geteneration时,集合还没有初始化
- 在第二次调用时挂起
- Node.js的setInterval和nextTick在第二次调用时不准确
- JQuery AJAX在第二次调用后不会触发
- Angular广播在第二次调用时不更新
- 第二次调用函数出现了奇怪的问题