Nano Hash - криптовалюты, майнинг, программирование

Как установить кнопку по умолчанию для клавиши ENTER

Мы используем Sharepoint 2007, на главной странице которого у нас есть кнопка Asp Image. Мы хотим установить эту кнопку изображения в качестве кнопки по умолчанию для нажатия клавиши ввода. Мы пробовали некоторые способы, но не добились успеха.


  • Возможно только с JavaScript, так как это не обычная кнопка отправки. 02.04.2012
  • не могли бы вы поделиться любыми чернилами за то же большое спасибо за ответ 02.04.2012

Ответы:


1

Оказалось сложнее, чем я думал, но тем не менее возможно. Прежде всего, убедитесь, что идентификатор вашего элемента управления является статическим:

<asp:ImageButton runat="server" ID="MyImageButton" ClientIDMode="Static" ImageUrl="pic.gif" OnClick="ImageButtonClicked"  />

Теперь вам нужен следующий код JavaScript на странице .aspx или .master:

<script type="text/javascript">
    var DEFAULT_BUTTON_ID = "MyImageButton";

    // Mozilla, Opera and webkit nightlies currently support this event
    if (document.addEventListener) {
        // A fallback to window.onload, that will always work
        window.addEventListener("load", HandleDefaultButton, false);
        // If IE event model is used
    } else if (document.attachEvent) {
        // A fallback to window.onload, that will always work
        window.attachEvent("onload", HandleDefaultButton);
    }

    function HandleDefaultButton() {
        var inputs = document.getElementsByTagName("input");

        //attach event for all inputs
        for (var i = 0; i < inputs.length; i++) {
            var input = inputs[i];

            //maybe already got handler so add instead of override
            if (document.addEventListener)
                input.addEventListener("keypress", InputElement_KeyPressed, false);
            else if (document.attachEvent)
                input.attachEvent("onkeypress", InputElement_KeyPressed);
        }
    }

    function InputElement_KeyPressed(evt) {
        if (DEFAULT_BUTTON_ID && DEFAULT_BUTTON_ID.length > 0) {
            //old IE event module
            if (typeof evt == "undefined" || !evt)
                evt = window.event;
            var keyCode = evt.keyCode || evt.which;
            if (keyCode === 13) {
                var oButton = document.getElementById(DEFAULT_BUTTON_ID);
                if (oButton) {
                    oButton.click();
                    return false;
                } else {
                    alert("---DEBUG--- default button is defined but does not exist (" + DEFAULT_BUTTON_ID + ")");
                }
            }
        }
        return true;
    }
</script>

Вам просто нужно определить реальный идентификатор как значение DEFAULT_BUTTON_ID, и код автоматически прикрепит событие нажатия клавиши ко всем вводам (текст, флажок и радио), а при нажатии Enter кнопка, определенная по умолчанию, будет кликните.

Поскольку вы используете SharePoint, это означает, что window.onload уже используется, поэтому мы должны добавить собственное событие, а не переопределять его.

02.04.2012

2

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

02.04.2012
  • Да, мы попробовали свойство DefaultButton. Оно работает в .Net, но не работает в sharepoint. Не знаю, почему 02.04.2012
  • Перейдите по ссылке. Сначала следует добавить элемент управления, а затем установить кнопку по умолчанию, в противном случае вы установите для кнопки по умолчанию значение null, поскольку элемент управления не добавляется в форму. 02.04.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..