在下面的文本框中,我有两个不同的ID(即' s'和' primary-search-input'),只有一个按钮。
第一个id(即s)是用于在用户输入任何关键字时执行搜索建议工作的插件ID,他将获得相关建议。 第二个id(即主要搜索输入),用于在用户点击按钮时获取搜索关键字结果。
在上述情况下,两个id都有不同的任务。 当我把id =' s'首先和id =' primary-search-input'第二个如下,它只会执行第一个id动作(即获得建议),当我把id =' primary-search-input'首先,id =' s'作为第二个位置,它只会执行第一个id动作(即点击按钮时得到关键字结果)。
我的查询是,我可以同时执行这两个操作,例如当用户在文本框中键入任何文本时,他会得到建议,同时他也会点击按钮获取关键字结果按钮点击。
<input name="s" id="s" id="primary-search-input" class="wide input" type="search" value="<?php if(isset($_GET['s']) && !isset($_GET['product'])) { echo sanitize_text_field(stripslashes(trim($_GET['s']))); } ?>" placeholder="<?php _e('I am shopping for...', 'framework')?>" />
<div id="primary-search-btn" class="medium primary btn"><a href="#"><i class="icon-search"></i></a></div>
答案 0 :(得分:2)
您不能在单个输入中使用多个ID。来自XHTML 1.0 Spec
在XML中,片段标识符的类型为ID,每个元素只能有一个ID类型的属性。因此,在XHTML 1.0中,id属性被定义为ID类型。为了确保XHTML 1.0文档是结构良好的XML文档,在上面列出的元素上定义片段标识符时,XHTML 1.0文档必须使用id属性。有关在将XHTML文档作为媒体类型text / html提供时确保此类锚点向后兼容的信息,请参阅HTML兼容性指南。
每个元素只能有一个ID,但您确实可以拥有多个类。但是没有多个类属性,将多个类值放入一个属性中。
答案 1 :(得分:0)
每个元素只能有一个ID类型的属性。但是,您可以使用data-* attributes
。 data-* attributes
使我们能够在所有HTML元素上嵌入自定义数据属性。
您可以使用以下HTML:
<input name="s" id="s" data-id="primary-search-input" class="wide input" type="search" value="<?php if(isset($_GET['s']) && !isset($_GET['product'])) { echo sanitize_text_field(stripslashes(trim($_GET['s']))); } ?>" placeholder="<?php _e('I am shopping for...', 'framework')?>" />
<div id="primary-search-btn" class="medium primary btn"><a href="#"><i class="icon-search"></i></a></div>
请参阅此link以获得更好的理解。
答案 2 :(得分:0)
您不能使用两个id作为输入。对于网页,ID必须是唯一的。 我认为你应该做一些切换编程 -
<input type="button" id="s" value="" onclick="toggle()">
<script>
var flag = 0;
function toggle(){
if(flag == 0){
// do some work whatever you wanna do first
flag=1;
}else{
// Do some task whatever you wanna do next
flag = 0;
}
}
</script>