如何使用两个ID文本框使用同一个按钮执行两个不同的操作

时间:2016-01-05 06:53:09

标签: javascript php jquery html

在下面的文本框中,我有两个不同的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>

3 个答案:

答案 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-* attributesdata-* 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>