Javascript 检查占位符文本是否已存在于字符串中
我有一个错误段落。每次提交时表单中出现错误。将输入占位符文本添加到#错误段落 我的问题: 每次用户单击submit时都会发生这种情况。因此#错误消息返回: 请填写您的名字、姓氏、公司、职位、姓名 姓名,姓氏,公司,职位,名字,姓氏,公司, 职位,名字,姓氏,公司,职位,名字,姓氏 姓名,公司,职位,名字,姓氏,公司,职位 我已经寻找了其他解决方案,并尝试了以下方法:Javascript 检查占位符文本是否已存在于字符串中,javascript,jquery,html,Javascript,Jquery,Html,我有一个错误段落。每次提交时表单中出现错误。将输入占位符文本添加到#错误段落 我的问题: 每次用户单击submit时都会发生这种情况。因此#错误消息返回: 请填写您的名字、姓氏、公司、职位、姓名 姓名,姓氏,公司,职位,名字,姓氏,公司, 职位,名字,姓氏,公司,职位,名字,姓氏 姓名,公司,职位,名字,姓氏,公司,职位 我已经寻找了其他解决方案,并尝试了以下方法: if (input.attr('placeholder').indexOf($('#error')) >= 0){ } el
if (input.attr('placeholder').indexOf($('#error')) >= 0){
} else{
$('#error').append(input.attr('placeholder').toLowerCase() + ', ');
}
是否有办法检查#错误消息中是否已经存在占位符文本。对不起,这太复杂了。但这正是我一直在研究的,而且我已经准备好了
提前谢谢你的帮助 我简单地在你的小提琴上加了一行,它现在就开始工作了:
required = ["id_first_name", "id_last_name", "id_firmbox", "id_job_title"];
errornotice = $("#error");
emptyerror = "Please fill out this field.";
$("#startform").submit(function(){
//Validate required fields
$("#error").html("Please fill in your");
for (i=0;i<required.length;i++) {
var input = $('#'+required[i]);
if ((input.val() == "") || (input.val() == emptyerror)) {
input.addClass("tobefixed");
errornotice.fadeIn(750);
// =====Here===== //
if (input.attr('placeholder').indexOf($('#error')) >= 0){
} else{
$('#error').append(input.attr('placeholder').toLowerCase() + ', ');
}
// ============== //
input.val(emptyerror);
errornotice.fadeIn(750);
} else {
input.removeClass("tobefixed");
}
}
if ($(":input").hasClass("tobefixed")) {
return false;
} else {
errornotice.hide();
return true;
}
});
$(":input").focus(function(){
if ($(this).hasClass("tobefixed") ) {
$(this).val("");
$(this).removeClass("tobefixed");
}
});
萨卢多斯;)
var errorText='';
//验证必填字段
对于(i=0;i=0){
//无所事事
}否则{
errorText=errorText+$(输入).attr('占位符').toLowerCase()+',';
}
input.val(emptyerror);
fadeIn(750);
}否则{
input.removeClass(“tobefixed”);
}
}
$('#error').html('').append('请填写'+errorText);
如果要检查#error
是否包含您想知道的字符串,可以使用
($('#error').text().indexOf(a_string)) != -1
如果#error
包含字符串,则返回true
关于在字符串中搜索其他字符串有一个较长的讨论您似乎做得不对(忘记了从#error
元素中提取错误):
.indexOf($('#error'))
为什么要将对象传递给indexOf
方法?input.attr('placeholder')。indexOf($('#error'))
将始终是-1
,除非字符串包含[object object object]
,可能您的意思是$(“#error')。text()
?可以用.html或.text覆盖div()内容吗()每次?都很好!谢谢你抽出时间!
var errorText = '';
//Validate required fields
for (i = 0; i < required.length; i++) {
var input = $('#' + required[i]);
if ((input.val() == "") || (input.val() == emptyerror)) {
input.addClass("tobefixed");
errornotice.fadeIn(750);
if (input.attr('placeholder').indexOf($('#error')) >= 0) {
// do nothing
} else {
errorText = errorText + $(input).attr('placeholder').toLowerCase() + ', ';
}
input.val(emptyerror);
errornotice.fadeIn(750);
} else {
input.removeClass("tobefixed");
}
}
$('#error').html('').append('Please fill in your ' + errorText);
($('#error').text().indexOf(a_string)) != -1
if ( $('#error').text().indexOf( input.attr('placeholder') ) >= 0)