Нажать кнопку «JavaScript» на кнопке «Ввод» в текстовом поле.

Используйте typeof(Book).GetProperties(), чтобы получить массив экземпляров PropertyInfo. Затем используйте GetCustomAttribute() для каждого PropertyInfo, чтобы увидеть, есть ли у каждого из них тип атрибута Author. Если это так, вы можете получить имя свойства из информации о свойствах и значений атрибутов из атрибута.

Что-то в этих строках для сканирования типа свойств, имеющих определенный тип атрибута, и возврата данные в словаре (обратите внимание, что это можно сделать более динамичным, передав типы в подпрограмму):

public static Dictionary<string, string> GetAuthors()
{
    Dictionary<string, string> _dict = new Dictionary<string, string>();

    PropertyInfo[] props = typeof(Book).GetProperties();
    foreach (PropertyInfo prop in props)
    {
        object[] attrs = prop.GetCustomAttributes(true);
        foreach (object attr in attrs)
        {
            AuthorAttribute authAttr = attr as AuthorAttribute;
            if (authAttr != null)
            {
                string propName = prop.Name;
                string auth = authAttr.Name;

                _dict.Add(propName, auth);
            }
        }
    }

    return _dict;
}
1219
задан Sam Axe 15 January 2015 в 15:17
поделиться

9 ответов

В jQuery работало бы следующее:

$("#id_of_textbox").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#id_of_button").click();
    }
});

$("#pw").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#myButton").click();
    }
});

$("#myButton").click(function() {
  alert("Button code executed.");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Username:<input id="username" type="text"><br>
Password:&nbsp;<input id="pw" type="password"><br>
<button id="myButton">Submit</button>

Или в плоскости JavaScript, следующее работало бы:

document.getElementById("id_of_textbox")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("id_of_button").click();
    }
});

document.getElementById("pw")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("myButton").click();
    }
});

function buttonCode()
{
  alert("Button code executed.");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Username:<input id="username" type="text"><br>
Password:&nbsp;<input id="pw" type="password"><br>
<button id="myButton" onclick="buttonCode()">Submit</button>
1370
ответ дан Black 15 January 2015 в 15:17
поделиться

Хотя, я вполне уверен что, пока существует только одно поле в форме и одной кнопке отправки, удар входят, должен отправить форму, даже если существует другая форма на странице.

можно тогда получить форму onsubmit с js и сделать любую проверку или обратные вызовы, которые Вы хотите.

12
ответ дан garrow 15 January 2015 в 15:17
поделиться
onkeydown="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('btnSearch').click();}};"

Это - просто что-то, что я имею из несколько недавнего проекта... Я нашел его в сети, и я понятия не имею, существует ли лучший путь или не в простом JavaScript.

13
ответ дан Peter Mortensen 15 January 2015 в 15:17
поделиться

Заставьте кнопку a отправить элемент, таким образом, это будет автоматически.

<input type = "submit"
       id = "btnSearch"
       value = "Search"
       onclick = "return doSomething();"
/>

Примечание, в котором Вы будете нуждаться <form> элемент, содержащий поля ввода для создания этой работы (благодарит Sergey Ilinsky).

Это не хорошая практика для переопределения стандартного поведения, Входят ключ должен всегда называть кнопку отправки на форме.

79
ответ дан icedwater 15 January 2015 в 15:17
поделиться

Понятый это:

<input type="text" id="txtSearch" onkeypress="return searchKeyPress(event);" />
<input type="button" id="btnSearch" Value="Search" onclick="doSomething();" />

<script>
function searchKeyPress(e)
{
    // look for window.event in case event isn't passed in
    e = e || window.event;
    if (e.keyCode == 13)
    {
        document.getElementById('btnSearch').click();
        return false;
    }
    return true;
}
</script>
174
ответ дан Anik Islam Abhi 15 January 2015 в 15:17
поделиться

Тогда просто кодируйте его в!

<input type = "text"
       id = "txtSearch" 
       onkeydown = "if (event.keyCode == 13)
                        document.getElementById('btnSearch').click()"    
/>

<input type = "button"
       id = "btnSearch"
       value = "Search"
       onclick = "doSomething();"
/>
382
ответ дан icedwater 15 January 2015 в 15:17
поделиться

Я разработал пользовательский JavaScript для достижения этой функции, просто добавив класс

Пример: <button type="button" class="ctrl-p">Custom Print</button>

Здесь Проверка это Скрипка
- или -
выезд рабочий пример https://Примечание stackoverflow.com/a/58010042/6631280

: по текущей логике необходимо нажать Ctrl + Вводят

0
ответ дан 19 December 2019 в 20:16
поделиться
event.returnValue = false

Используйте его при обработке события или в функции, которую вызывает обработчик событий.

По крайней мере, работает в Internet Explorer и Opera.

8
ответ дан 19 December 2019 в 20:16
поделиться

Эта попытка изменения близка, но ведет себя некорректно по отношению к браузеру назад, то вперед (в Safari 4.0.5 и Firefox 3.6.3 ), поэтому я бы не рекомендовал его.

<input type="text" id="txtSearch" onchange="doSomething();" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />
9
ответ дан 19 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: