Java JSF数据表过滤:占位符

Java JSF数据表过滤:占位符,java,javascript,jsf-2,primefaces,placeholder,Java,Javascript,Jsf 2,Primefaces,Placeholder,由于并非所有用户都能保证支持HTML5占位符属性,因此我尝试在JavaScript中为其构建一个解决方案: $(document).ready(function() { var searchInColumn = $('#searchInColumn').text(); $(".ui-widget-glossary-editor-column-filter").on('focus', function() { var $this = $(this);

由于并非所有用户都能保证支持HTML5占位符属性,因此我尝试在JavaScript中为其构建一个解决方案:

$(document).ready(function() {
    var searchInColumn = $('#searchInColumn').text();
    $(".ui-widget-glossary-editor-column-filter").on('focus', function() {
        var $this = $(this);
        if ($this.val() == searchInColumn) {
            $this.val('');
            $this.css('color', '#444444');
        }
    }).on('blur', function() {
        var $this = $(this);
        if ($this.val() == '') {
            $this.val(searchInColumn);
            $this.css('color', '#c9c9c9');
        }
    }).blur();
});
虽然这是正常工作的,但这当然会带来一个问题,即输入文本字段中存在实际(本地化)文本,从而触发datatable筛选器。我是否可以拦截PrimeFaces数据表筛选,以便将此本地化占位符文本视为空字符串

谢谢你的建议和问候


Pascal

您的意思是占位符被解释为值并发送到服务器


如果是这样,您最好使用正确应用水印…

您的意思是占位符被解释为值并发送到服务器


如果是这样,您最好使用适当的水印…

您的
searchInColumn
input不是保存了某个包中已经本地化的文本吗?show
$('searchInColumn')
code…$('searchInColumn')包含JSF本地化的隐藏标签文本,是的。这使我能够在JavaScript中获得本地化的JSF文本,而无需启动单独的AJAX请求。问题是我想阻止datatable筛选占位符值。你是说占位符被解释为值并发送到服务器?如果是这样的话,你最好使用正确地应用水印…这确实起到了作用。我确实使用了另一个jquery插件(HTML5占位符插件1.01版),但水印放错了位置。然而,这似乎工作正常。谢谢您的
searchInColumn
input不是保存了来自某个捆绑包的本地化文本吗?show
$('searchInColumn')
code…$('searchInColumn')包含JSF本地化的隐藏标签文本,是的。这使我能够在JavaScript中获得本地化的JSF文本,而无需启动单独的AJAX请求。问题是我想阻止datatable筛选占位符值。你是说占位符被解释为值并发送到服务器?如果是这样的话,你最好使用正确地应用水印…这确实起到了作用。我确实使用了另一个jquery插件(HTML5占位符插件1.01版),但水印放错了位置。然而,这似乎工作正常。谢谢