Как отключить, отправляют поведение asp:ImageButton?

Вы находитесь в Средней школе. Сколько времени необходимо работать над этой программой? Сколько людей находится в Вашей группе? Они уже знают C++ или LabView?

От Вашего вопроса, я вижу, что Вы знаете C++, и большая часть группы не делает. Я также подозреваю, что лидер группы достаточно проницателен, чтобы заметить, что некоторые члены команды могут быть запуганы основанным на тексте языком программирования. Это приемлемо, Вы находитесь в средней школе, и эти люди normies. Я чувствую, как будто нормальные высокие школьники будут в состоянии понять LabView более интуитивно, чем C++. Я предполагаю, что большинство учеников средней школы, как население в целом, боится командной строки. Для Вас существует намного меньше различия, но для них, это - ночь и день.

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

я собираюсь рекомендовать LabView. Учитывая правильные аппаратные средства, можно быть в порядке почти out-of-the-box. Ваша команда может провести больше времени получение робота сделать то, что Вы хотите , который является, каков фокус этого действия должен быть.

Графические Языки не являются будущим программирования; они были одним из доступного выбора, созданного для решения определенных типов проблем, много лет. Будущее программирования является слоем на слой абстракции далеко от машинного кода. В будущем мы будем задаваться вопросом, почему мы потратили впустую все это время программирование "семантика" много раз.

, насколько мы должны полагаться на предзаписанные модули, и сколько мы должны попытаться записать самостоятельно? Вы не должны напрасно тратить время, перестраивая колесо. Если существуют драйверы устройств, доступные в Labview, используйте их. Можно изучить много путем копирования кода, который подобен в функции и адаптации его к потребностям - Вы добираетесь, чтобы видеть, как другие люди решили подобные проблемы и должны интерпретировать их решение, прежде чем можно будет правильно применить его к проблеме. При слепом копировании кода, возможностей получения, это для работы тонко. Необходимо быть хорошими даже при копировании кода.

Всего наилучшего

12
задан Manish Basantani 13 October 2009 в 16:31
поделиться

6 ответов

I will assume you have some sort of input controls and you don't want an enter keypress to auto submit when a user accident hits the enter key. If so you can attach a javascript onkeypress event to each control that you want to disable this behavior for.

function disableEnterKey(e)
{
     var key;
     if (window.event) key = window.event.keyCode; // Internet Explorer
     else key = e.which;

     return (key != 13);
}

// In your aspx file Page_Load do the following foreach control you want to disable
// the enter key for:
txtYourTextBox.Attributes.Add("OnKeyPress", "return disableEnterKey(event);");

If you need to disable the Enter key submitting form completely. case use the OnKeyDown handler on tag on your page.

The javascript code:

if (window.event.keyCode == 13) 
{
    event.returnValue = false; 
    event.cancel = true;
} 

With JQuery this would be much cleaner, easier and the recommended method. You could make an extension with:

jQuery.fn.DisableEnterKey =
    function()
    {
        return this.each(function()
        {
            $(this).keydown(function(e)
            {
                var key = e.charCode || e.keyCode || 0;
                // return false for the enter key
                return (key != 13);
            })
        })
    };

// You can then wire it up by just adding this code for each control:
<script type="text/javascript" language="javascript">
    $('#txtYourTextBox').DisableEnterKey();
</script>
11
ответ дан 2 December 2019 в 06:09
поделиться

Вместо этого используйте asp: image. Затем поместите код javascript в onclick " javascript: document.getElementById ('imageClicked'). SetAttribute ('value', 'true'); document.myform.submit (); "

Установить значение скрытого поля (с использованием javascript), чтобы сообщить коду на стороне сервера, что по изображению был сделан щелчок.

document.getElementById('imageClicked').setAttribute('value', 'true');

Затем, в конце обработки обратной передачи на сервере, сбросьте значение hiddenField:

document.getElementById('imageClicked').setAttribute('value', 'true');
1
ответ дан 2 December 2019 в 06:09
поделиться

Если вы помещаете свое содержимое в asp: Panel , вы можете использовать свойство DefaultButton , чтобы установить другую кнопку по умолчанию, чтобы кнопка с изображением не нажималась.

<asp:Panel runat="server" ID="pnl_Test" DefaultButton="btn_Test2">
    <asp:ImageButton runat="server" ID="btn_Test1" />
    <asp:Button runat="server" ID="btn_Test2" />
</asp:Panel>

В этом примере btn_Test2 будет нажата, когда вы нажмете Enter, где обычно btn_Test1 будет нажат

7
ответ дан 2 December 2019 в 06:09
поделиться

Форма выполнит первую кнопку, найденную на странице, когда вы нажмете клавишу ввода. Если вы можете переместить ImageButton дальше вниз по странице, чтобы она перестала быть первой кнопкой в ​​разметке, и использовать CSS для ее правильного позиционирования, это должно решить вашу проблему. Я исправил то же самое на прошлой неделе, и это сработало для меня. Я выбрал это решение, потому что оно не требовало для правильной работы JavaScript.

2
ответ дан 2 December 2019 в 06:09
поделиться

Используйте ответ Келси (этот ответ опубликован на wiki)

... но обратите внимание на несколько вещей, когда вы его реализуете.

  1. Я бы рекомендовал простой старый метод javascript если вы еще не используете jQuery. если вы используете этот метод, просто return (keynum! = 13) не делайте глупостей вроде if (true) return true; else return false;

  2. Вам не нужно назначать нажатие клавиши из кода. Это можно сделать в разметке, и тогда она будет намного чище.

  3. Не отключайте клавишу ввода во всей форме. Вы можете сделать это только во входных данных, но если вы сделаете это во всей форме, вы не сможете добавить возврат каретки в текстовое поле.

  4. Если вы действительно используете jQuery, я бы рекомендовал добавить класс CSS называется "disableEnterKey" и назначает его элементам формы, которые вы хотите отключить, затем вызов метода jQuery Келси для $ (". disableEnterKey") в готовом документе.

  5. Не отвечайте слишком похоже на кого-либо на SO, даже если вы не полностью согласны с ответом. И даже если бы ответ был прост и тысячи людей, вероятно, сделали то же самое. Это «копирование». Это похоже на "резак" или "болтовню" ... что плохо.

(этот ответ был добавлен в вики-сайт сообщества, поскольку этот вопрос стал глупым)

2
ответ дан 2 December 2019 в 06:09
поделиться

вам нужно что-то вроде

<form ...>

  <!-- some code here -->

  <button style='display:none' onclick='return false'>here comes the magic</button>

  <button>normal button </button>

</form>
1
ответ дан 2 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

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