在提交输入时,关键字默认为十六进制代码 - Javascript

时间:2014-04-08 21:33:04

标签: javascript html input

搜索时,当您键入“蓝色”等内容并按回车键时,会显示“显示调色板为”蓝色“,但是当您键入”蓝色“并按下搜索按钮时,默认为”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

1 个答案:

答案 0 :(得分:0)

输入上的“十六进制颜色”类似乎希望输入为十六进制值。如果没有有效的十六进制数输入,则输入上的验证器必须默认为FFFFFF(白色)。输入'blue'并按Enter键,您将看到hex的POST值为'blue'而不是0000FF。您在搜索颜色名称或十六进制值吗?如果是这样,您可以丢弃颜色选择器输入并使用常规文本输入。

由于您已经在使用jQuery,为什么不放弃整个表单submit()和页面刷新过程并使用$ .ajax()将查询POST到一个只返回您需要的数据的服务?然后,您可以将结果写入页面而无需刷新。查看模拟引擎的Mustache或Handlebars,以存储和检索结果的HTML模板。