搜索时,当您键入“蓝色”等内容并按回车键时,会显示“显示调色板为”蓝色“,但是当您键入”蓝色“并按下搜索按钮时,默认为”FFFFFF“ ',这与提交有关,我无法弄明白,
当我从输入中删除'color'类时:
<input class=
"search-input hex color {required:false}" id="nobg" name="hex"
onchange=
"document.getElementsByTagName('article')[0].style.backgroundColor = '#'+this.color"
placeholder="Enter hexcode or keyword (Eg, 'Blue')" type="search">
它解决了这个问题,然而它禁用了颜色选择器(jscolor.js)
按下搜索输入后,它接受并输出十六进制代码到标题,但不是关键字。
有人可以建议如何克服这个问题吗?
这是项目的a link。
答案 0 :(得分:0)
输入上的“十六进制颜色”类似乎希望输入为十六进制值。如果没有有效的十六进制数输入,则输入上的验证器必须默认为FFFFFF(白色)。输入'blue'并按Enter键,您将看到hex的POST值为'blue'而不是0000FF。您在搜索颜色名称或十六进制值吗?如果是这样,您可以丢弃颜色选择器输入并使用常规文本输入。
由于您已经在使用jQuery,为什么不放弃整个表单submit()和页面刷新过程并使用$ .ajax()将查询POST到一个只返回您需要的数据的服务?然后,您可以将结果写入页面而无需刷新。查看模拟引擎的Mustache或Handlebars,以存储和检索结果的HTML模板。