Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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 用jQuery填充空输入_Javascript_Jquery_Html - Fatal编程技术网

Javascript 用jQuery填充空输入

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

我正在使用PHP+MySQL。在一页中,我有一张带附件的表格。30项投入

在显示表单之后,我在最后执行一些jQuery语句来设置表单的样式

我的SQL中的某些行有数据空输入,所以我显示空输入。我想在表单中填入“-----”,而不在DB中写入斜杠,因为这样会使SQL变得更大

我正在尝试“replaceWith”,但我不知道这个带有“empty”的实现是否正确。 即使没有.is(:empty),这也不起作用


$('#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来删除空白。谢谢你!!!!