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