Javascript 将所有变量合并为一个变量
我的JavaScript代码中有五个变量。我想把所有这些变量合并成一个变量 我的五个变量:Javascript 将所有变量合并为一个变量,javascript,jquery,Javascript,Jquery,我的JavaScript代码中有五个变量。我想把所有这些变量合并成一个变量 我的五个变量: var description = $("#description").val(); var keywords = $("#keywords").val(); var author = $("#author").val(); var robots = $("#robots").val(); var revisit_after = $("#revisitafter").val(); 我希望将所有这些变量
var description = $("#description").val();
var keywords = $("#keywords").val();
var author = $("#author").val();
var robots = $("#robots").val();
var revisit_after = $("#revisitafter").val();
我希望将所有这些变量组合成一个变量,如下所示:
var all_fields = title,description,keywords,author,robots,revisit_after ;
if(all_fields == "")
{
alert('Empty Field detected');
}
var arr = [];
var empty = false;
var description = $("#description").val();
var keywords = $("#keywords").val();
var author = $("#author").val();
var robots = $("#robots").val();
var revisit_after = $("#revisitafter").val();
arr.push(description, keywords, author, robots, revisit_after);
如果这样做有效,我可以很容易地验证输入字段,如下所示:
var all_fields = title,description,keywords,author,robots,revisit_after ;
if(all_fields == "")
{
alert('Empty Field detected');
}
var arr = [];
var empty = false;
var description = $("#description").val();
var keywords = $("#keywords").val();
var author = $("#author").val();
var robots = $("#robots").val();
var revisit_after = $("#revisitafter").val();
arr.push(description, keywords, author, robots, revisit_after);
HTML:
有没有办法将它们合并到一个变量中?如果要检查它们是否都有值,请使用
&&
:
var all_fields = title && description && keywords && author && robots && revisit_after;
if(!all_fields)
{
alert('Empty Field detected');
}
这是因为
&&
检查一个值是否为“truthy”,这意味着它具有某种类型的值(请阅读更多内容,它有点复杂)。因此,如果其中任何字段为空,则会使所有_字段
为false。一个限制是,如果其中一个具有值0
,这在技术上是一个值,但不是“truthy”。但是,我相信jquery的val()
总是返回一个字符串,而且“0”
是真实的。如果要检查它们是否都有值,请使用&&
:
var all_fields = title && description && keywords && author && robots && revisit_after;
if(!all_fields)
{
alert('Empty Field detected');
}
这是因为&&
检查一个值是否为“truthy”,这意味着它具有某种类型的值(请阅读更多内容,它有点复杂)。因此,如果其中任何字段为空,则会使所有_字段
为false。一个限制是,如果其中一个具有值0
,这在技术上是一个值,但不是“truthy”。然而,我相信jquery的val()
总是返回一个字符串,而的“0”
是真实的。试试对象文本
var all_fields = {
"title": title,
"description": description,
"yada" : yada
}
尝试对象文字
var all_fields = {
"title": title,
"description": description,
"yada" : yada
}
由于不知道是否允许更改,我个人会在您所做的任何事情的末尾编写一个新数组,类似这样:
var all_fields = title,description,keywords,author,robots,revisit_after ;
if(all_fields == "")
{
alert('Empty Field detected');
}
var arr = [];
var empty = false;
var description = $("#description").val();
var keywords = $("#keywords").val();
var author = $("#author").val();
var robots = $("#robots").val();
var revisit_after = $("#revisitafter").val();
arr.push(description, keywords, author, robots, revisit_after);
然后检查你的数组
arr.each(function(i){
if(arr[i] == ""){
empty = true;
}
});
if(empty) console.log("Something is missing");
或者,如果您喜欢更快的代码,请使用for循环:
for(var i = 0; i <= arry.length; i++){
if(arr[i] == ""){
empty = true;
}
}
if(empty) console.log("Something is missing");
for(var i=0;i不知道是否允许更改此值,我会在您所做的任何事情的末尾亲自编写一个新数组,如下所示:
var all_fields = title,description,keywords,author,robots,revisit_after ;
if(all_fields == "")
{
alert('Empty Field detected');
}
var arr = [];
var empty = false;
var description = $("#description").val();
var keywords = $("#keywords").val();
var author = $("#author").val();
var robots = $("#robots").val();
var revisit_after = $("#revisitafter").val();
arr.push(description, keywords, author, robots, revisit_after);
然后检查你的数组
arr.each(function(i){
if(arr[i] == ""){
empty = true;
}
});
if(empty) console.log("Something is missing");
或者,如果您喜欢更快的代码,请使用for循环:
for(var i = 0; i <= arry.length; i++){
if(arr[i] == ""){
empty = true;
}
}
if(empty) console.log("Something is missing");
for(var i=0;i您可以使用jQuery根据字段类型枚举它们,并验证它们是否为空,而不是手动将它们全部放入数组中:
function check() {
$("input[type='text']").not(".no-verify").each(function (i, element) {
if ($(this).val() == "") {
alert("Empty field detected!");
}
});
}
这种方法的优点:
根据需要添加/删除字段
易于添加要检查的字段类型和为每个字段运行的自定义代码
很容易改变什么是“空”什么不是
通过添加类no verify
,将字段从空值检查中排除
您可以使用jQuery根据字段类型枚举它们并验证它们是否为空,而不是手动将它们全部放入数组中:
function check() {
$("input[type='text']").not(".no-verify").each(function (i, element) {
if ($(this).val() == "") {
alert("Empty field detected!");
}
});
}
这种方法的优点:
根据需要添加/删除字段
易于添加要检查的字段类型和为每个字段运行的自定义代码
很容易改变什么是“空”什么不是
通过添加类no verify
,将字段从空值检查中排除
字符串连接:title+description+…
我认为您可能需要阅读初学者教程,了解对象和数组,它们是JavaScript复合类型。我认为连接在这种情况下对您没有帮助。@ShifarShifz:您的问题下有一个编辑按钮。请使用它发布其他代码。@shifarShifz:当你在那里的时候,也许可以去掉呼喊声。:-)还要澄清:您想检查其中是否有一个是空的,还是所有的都是空的?字符串连接:title+description+…
我想您可能需要阅读初学者教程,了解对象和数组,它们是JavaScript复合类型。我不认为连接在这种情况下对您有帮助。@ShifarShifz:你的问题下面有一个编辑按钮。请用它来发布其他代码。@ShifarShifz:当你在那里时,也许可以删除呼喊。:-)还要澄清:你想检查其中是否有一个是空的,还是所有的都是空的?如果(all_fields==“”){alert('Some field missing!');},我能用这个吗。对这件事不太了解。jus开始学习了!如果(all_fields==“”){alert('Some field missing!');},我可以用这个吗。对这件事不太了解。jus开始学习了@罗伯特罗萨斯:限制的一个很好的例子。:-)(在你的评论出现前半秒删除了我的评论…“我相信jquery的val()总是返回字符串…”FWIW:val
总是作为字符串(集合中第一个元素的值)返回,如果jquery对象(集合)中有任何元素,则调用它。如果集合中没有任何元素,它将返回undefined
。无论如何@xdumain,您的答案需要润色…也是最接近操作要求的答案(编辑:太晚了…)。@RobertRozas它不需要润色。这是一个很好的答案。它提供了一个与OP试图实现的功能类似的语言基本功能示例,而不是一些将在所有边缘情况下提交和测试的代码。@RobertRozas:一个限制的好例子。:-)(在你的评论出现前半秒删除了我的评论…“我相信jquery的val()总是返回字符串…”FWIW:val
总是作为字符串(集合中第一个元素的值)返回,如果jquery对象(集合)中有任何元素,则调用它。如果集合中没有任何元素,它将返回undefined
。无论如何@xdumain,您的答案需要润色…也是最接近操作要求的答案(编辑:太晚了…)。@RobertRozas它不需要润色。这是一个很好的答案。它提供了一个与OP试图实现的功能类似的语言基本功能的示例,而不是一些将在所有边缘情况下提交和测试的代码。这太棒了!!非常感谢你。。Muaaww:@ShifarShifz请记住,如果您有一个可以为空的字段,则该字段仍然为“vali”