Javascript 用jQuery填充空输入
我正在使用PHP+MySQL。在一页中,我有一张带附件的表格。30项投入 在显示表单之后,我在最后执行一些jQuery语句来设置表单的样式 我的SQL中的某些行有数据空输入,所以我显示空输入。我想在表单中填入“-----”,而不在DB中写入斜杠,因为这样会使SQL变得更大 我正在尝试“replaceWith”,但我不知道这个带有“empty”的实现是否正确。 即使没有.is(:empty),这也不起作用Javascript 用jQuery填充空输入,javascript,jquery,html,Javascript,Jquery,Html,我正在使用PHP+MySQL。在一页中,我有一张带附件的表格。30项投入 在显示表单之后,我在最后执行一些jQuery语句来设置表单的样式 我的SQL中的某些行有数据空输入,所以我显示空输入。我想在表单中填入“-----”,而不在DB中写入斜杠,因为这样会使SQL变得更大 我正在尝试“replaceWith”,但我不知道这个带有“empty”的实现是否正确。 即使没有.is(:empty),这也不起作用 $('#form').find('input[type=text]').is(':empt
$('#form').find('input[type=text]').is(':empty').replaceWith(function()
{
返回此.val('----');
});
jQuery的:empty
查找没有子元素的元素,而不是没有值的元素,并且作为一个输入不能有子元素,它什么也找不到
jQuery的is()
返回一个布尔值,而不是集合
jQuery的replaceWith
替换整个元素,而不仅仅是值
改为检查值
$('#form input[type=text]').val(function(_, val) {
return val.length === 0 ? '------' : val;
});
或
插入一个
$。trim
根据需要删除空白jQuery的:empty
查找没有子元素的元素,而不是没有值的元素,并且作为一个输入,不能有子元素,它什么也找不到
jQuery的is()
返回一个布尔值,而不是集合
jQuery的replaceWith
替换整个元素,而不仅仅是值
改为检查值
$('#form input[type=text]').val(function(_, val) {
return val.length === 0 ? '------' : val;
});
或
加入一个
$。trim
如果需要,可以删除空白使用如下方法:
<script>
$('#form').find('input[type=text]').each(function(e){
if($(this).val()=="") $(this).val("---");
})
</script>
$('#form').find('input[type=text]')。每个(函数(e){
if($(this.val()==“”)$(this.val(“--”);
})
使用类似以下内容:
<script>
$('#form').find('input[type=text]').each(function(e){
if($(this).val()=="") $(this).val("---");
})
</script>
$('#form').find('input[type=text]')。每个(函数(e){
if($(this.val()==“”)$(this.val(“--”);
})
您是否考虑过使用HTML占位符属性
您可以使用占位符
使破折号以浅灰色文本显示,而不实际更改输入值。它们将自动添加到页面上的任何空白字段:
<input type="text" placeholder="----" value="asdf" name="notempty"
title="This has a placeholder, but doesn't show it because the input is filled with something" />
<input type="text" placeholder="----" value="" name="empty"
title="This is empty, so it shows the dashes" />
占位符文本不会包含在您的$\u帖子
数据中。在本例中,$\u POST['empty']
将为空
许多现代浏览器都支持占位符
属性,但IE9不支持:
还有各种jQuery插件也模仿这种效果。您可以在此处阅读其中一些:
您是否考虑过使用HTML占位符属性
您可以使用占位符
使破折号以浅灰色文本显示,而不实际更改输入值。它们将自动添加到页面上的任何空白字段:
<input type="text" placeholder="----" value="asdf" name="notempty"
title="This has a placeholder, but doesn't show it because the input is filled with something" />
<input type="text" placeholder="----" value="" name="empty"
title="This is empty, so it shows the dashes" />
占位符文本不会包含在您的$\u帖子
数据中。在本例中,$\u POST['empty']
将为空
许多现代浏览器都支持占位符
属性,但IE9不支持:
还有各种jQuery插件也模仿这种效果。您可以在此处阅读其中一些:
有一件事你不能返回
。我建议改为在服务器端执行此操作。您只需格式化输出,然后返回一个简单的IF,而不必接触数据库,比如IF(is_null(field)){field=“---”;}在:empty
@JaredEitnier fixed周围缺少引号!很抱歉,我的文件中没有这样写:)@DJDavid98已修复!那真的不知道。感谢您,有一件事您不能返回。我建议您改为在服务器端执行此操作。您只需格式化输出,然后返回一个简单的IF,而不必接触数据库,比如IF(is_null(field)){field=“---”;}在:empty
@JaredEitnier fixed周围缺少引号!很抱歉,我的文件中没有这样写:)@DJDavid98已修复!那真的不知道。谢谢哇,谢谢你。很明显,我误解了空的功能。不幸的是,这两个选项都不起作用。我将尝试使用$(“#form”).find('input[type=text]')这不仅仅是jQuery的:empty
,这是CSS选择器的工作方式。哇,谢谢。很明显,我误解了空的功能。不幸的是,这两个选项都不起作用。我将尝试使用$(“#form”).find('input[type=text]”)这不仅仅是jQuery的:empty
,这是CSS选择器的工作方式。这是一个非常好的选项,但我不能使用它,因为在添加斜杠后,我使用其他jQuery语句将这些输入转换为纯文本,因此如果输入中没有写入文本,转换使其消失,这是一个非常好的选择,但我不能使用它,因为在添加斜杠后,我使用其他Jquery语句将此输入转换为纯文本,因此如果输入中没有写入文本,转换使其消失!在@adeneo编写时,我需要使用.trim来删除空白。谢谢你!!!!真管用!在@adeneo编写时,我需要使用.trim来删除空白。谢谢你!!!!