使用javascript在输入字段上执行搜索

时间:2014-11-07 02:39:41

标签: javascript jquery html automated-tests

我正在尝试写一个健全性测试。给出:

<div id="txt-search-wrapper" class="pull-left non-action">
    <span class="search-widget"></span>
    <input type="text" class="search-widget" id="txt-search" placeholder="Search">
</div>

如果我在控制台中使用其中任何一个,则会在搜索框中输入文本。如果我手动点击ui中的输入,搜索将正确执行。

document.getElementById('txt-search').value='test'
$('#txt-search').val('test')

但是,以下命令将无法单击并执行搜索。我试图将\ r \ n附加到文本但无济于事。我也玩过按键活动。

document.getElementById('txt-search').click()
 $('#txt-search').click()

1 个答案:

答案 0 :(得分:0)

对不起,如果我误解了你的问题,但看起来有两个独立但相关的问题在起作用。

首先,.click()

您的jQuery是有效的,但如果您想要实际发生某些事情,则click()需要一个处理程序。

$( "#target" ).click(function() {
  alert( "Handler for .click() called." );
});

[来源:http://api.jquery.com/click/]

其次,HTML表单

input元素实际上无法执行搜索。为此,您需要使用提交按钮构建表单。

请在此处查看MDN的优秀文档:https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms

快速举例,如下:

<!-- A common form that includes input tags -->
<form action="getform.php" method="get">
    First name: <input type="text" name="first_name" /><br />
     Last name: <input type="text" name="last_name" /><br />
        E-mail: <input type="email" name="user_email" /><br />
<input type="submit" value="Submit" />
</form>

来源:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input

然后,您可以致电点击提交输入以运行搜索。

希望有所帮助。