Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何集成多个语句_Javascript_Jquery - Fatal编程技术网

Javascript 如何集成多个语句

Javascript 如何集成多个语句,javascript,jquery,Javascript,Jquery,我想对20个输入框运行此语句。有没有一种干净的组合方式?似乎会有很多声明。设计用于捕获输入的数据,然后单击按钮后将其显示到HTML中。目前只有一行代码可以工作,需要添加几行代码 $(“.showreg”)。单击(函数(){ var pagetitle=$('f#k_page_title').val(); 如果(!pagetitle) {pagetitle=“Oop没有输入值”;} $('#theValue').html(页面标题); }); $(“.showreg”)。单击(函数(){ var

我想对20个输入框运行此语句。有没有一种干净的组合方式?似乎会有很多声明。设计用于捕获输入的数据,然后单击按钮后将其显示到HTML中。目前只有一行代码可以工作,需要添加几行代码

$(“.showreg”)。单击(函数(){
var pagetitle=$('f#k_page_title').val();
如果(!pagetitle)
{pagetitle=“Oop没有输入值”;}
$('#theValue').html(页面标题);
});
$(“.showreg”)。单击(函数(){
var name title=$('#f#u name_title').val();
如果(!nametitle)
{nametTitle=“Oop没有输入值”;}
$('#theValue2').html(名称标题);
});
HTML


标题:
下一个
FormHTML


只需在所有需要验证的对象上设置事件处理程序(CSS类在此提供帮助):

$(.validateForEmpty”).on(“模糊”,函数(evt){
var输入=$(此);
//获取其组内输入的索引号。
var idx=$(“.validateForEmpty”).index(输入);
//获取对应于同一索引的span的引用
var span=$(“.output”).get(idx);
//验证刚刚失去焦点的元素
如果(input.val().trim()=“”){
$(span).text(input.attr(“name”)+“不能为空!”);//将消息放入相应的span
}否则{
$(span).text(input.attr(“name”)+”包含:“+input.val());//将值放入相应的span
}
});
.output{display:block;}

理想情况下?为您关心的所有
输入添加一个公共类,并为每个
输入添加一个
数据值span
属性,以便我们知道消息的放置位置,例如

<input id="f_k_page_title" class="validatee" data-valuespan="theValue" />
<input id="f_name_title"   class="validatee" data-valuespan="theValue2" />
但是,如果您真的无法更改HTML,则需要信任表单中元素的顺序。并说明除第一个以外的所有
span
s都有一个数字

$(“.showreg”)。单击(函数(e){
var inps=$('form').first().find('input');
对于(变量i=0;i0)?(i+1):“”;
var spanName='theValue'+spanNum;
var val=inp.value | |“哦,没有输入值”;
$('#'+spanName).text(val);
}
}
});
span{
显示:块;
}

标题:
下一个

你能发布你的HTML结构吗?您可能可以委托事件,但我们需要删除对
id
选择器的硬引用,并使用DOM遍历方法。感谢这是其中的一部分,但如果输入了数据,则需要显示输入的数据,而不是“不能为空!”。如果不显示“不能为空”,则仅此而已,但需要将其挂接到id,以便我可以在其他地方使用它,而不是直接在输入框旁边。这就是为什么它开始变得越来越多messy@Dee事实上并非如此,如果您的
span
元素数量与
input
字段的数量相同,您可以使用输入的索引号(在其组内)并使用索引号选择正确的
span
(在其组内)。这样,您就不需要
输入旁边的
span
元素了
@Dee我已经(再次)更新了答案显示从
input
元素中分离出来的
span
元素。@Dee您甚至可以为每个
input
指定一个
data output
属性,该属性的值为相应
span
id
。然后,在验证
输入
时,只需获取其
数据输出
值,并向其预挂一个
#
,以找到正确的
范围
进行写入。感谢您将有一个游戏。如果有助于缩短代码,则第一个范围可以有一个数字。在第一个示例中,如何引用字段“其他位置”作为数据值范围
$('.validatee').each( function() {
  var el = $(this);
  var val = el.val() || "Oops, no value entered";

  $('#' + el.data('valuespan')).text( val );
});