У меня есть HTML форма, как это:ввод в кнопку запуска кнопки?
<form name="f1">
<center>
<strong>Search VMs:</strong>
<input id='vms' name="word" type="text" size="50" placeholder="Name or IP, space delimited, partial name OK." autofocus autocomplete="off" pattern=".{3,}" required title="3 chars minimum" /> in
<select name="vc" id='whichvc'>
<option value="all" selected="selected">all VCs</option>
</select>
<input type="checkbox" id="check4detail" name="detail">Include details
<input name='searchbutton' value="Search VMs" type="button" onclick='xmlhttpPost("/cgi-bin/search-vm.pl")' />
<input value="Clear" type="button" onclick="clearBox('result')" />
</center>
</p>
<div id="loading"></div>
<div id="result"></div>
</form>
Как вы можете видеть, есть поле ввода текста и несколько других кнопок, одна из которых имеет OnClick() слушателя, связанный с ним. Как я могу вызвать событие onclick на этой кнопке, когда пользователь вводит текст и нажимает клавишу ввода?
Пробовал это решение с форума, но это как-то не работает:
$('#vms').keypress(function(event){
if (event.which === 13){
$('#searchbutton').click();}
});
Кстати, когда я ввожу текст в поле и нажмите на кнопку поиска, она работает просто отлично. Но введите текст и нажмите enter, чтобы не вызвать событие поиска.
Я не думаю, что JQuery события вызывают не-Jquery слушателей, не так ли? – mhodges
@mhodges Если вы имеете в виду '$ ('# searchbutton'). Click();' запускать функцию в атрибуте 'onclick', так оно и есть. Простая демонстрация: https://jsfiddle.net/v11y6kab/. Подробности в документах для ['trigger'] (http://api.jquery.com/trigger/). –
Возможный дубликат [Запуск кнопки с помощью JavaScript на клавише Enter в текстовом поле] (http://stackoverflow.com/questions/155188/trigger-a-button-click-with-javascript-on-the-enter -key-in-a-text-box) –