Как вызвать правую кнопку отправки после ENTER, если в HTML-форме есть еще? - PullRequest
1 голос
/ 15 июля 2011

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

Спасибо.

Ответы [ 5 ]

1 голос
/ 15 июля 2011

Я бы поместил основную кнопку с типом = submit, а другой будет управлять javascript (рекомендуется JQuery).

Таким образом, когда вы нажимаете ввод, поскольку есть только одна кнопка type = submit,этот будет использоваться.

1 голос
/ 15 июля 2011

Изменить порядок двух кнопок в HTML. Затем разместите их так, как вы хотите, используя CSS.

Чтобы изменить порядок кнопок, вы можете сделать:

.buttons input { float: right; }

с HTML:

<p class="buttons">
    <input type="submit" name="second" value="second">
    <input type="submit" name="first" value="first">
</p>
1 голос
/ 15 июля 2011

Это невозможно через HTML. Вместо этого вы должны использовать JavaScript.

Пример (с использованием jQuery):

<script type="text/javascript">
    $(document).ready(function(){
        $('#FormId input:text').keydown(function(event){
            if ((event.which && event.which != 13) || (event.keyCode && event.keyCode != 13)) {
                return true;
            }

            if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
                $(this).parents('form').find('#SubmitButtonId').click();
                return false;
            } else {
                return true;
            }
        });
    });
</script>
1 голос
/ 15 июля 2011

Я не уверен насчет тегов HTML ... Но вы можете написать это JS:

<script type="text/javascript">
  window.onload = function () {
    document.getElementById('button2').focus(); 
  }  
</script>

Обычно я предпочитаю использовать JQuery и AJAX, например:

$(".TextBoxesClassORAnyOtherSelector").keydown(function () {
    if (True) {
        $.ajax({
            type: "Post",
            url: "/relativeAddress/Page.aspx",
            data: { Field1: value1 },
            success: function (data, status) { // on succeed codes  },
            error: function (req, status, error) { alert(error); }
        });
    }
});
0 голосов
/ 17 марта 2014

Сделайте одну кнопку типа «отправить».Нажатие Enter должно инициировать отправку независимо от относительного положения кнопки «сброс»:

<button type="reset">Cancel</button>
<button type="submit">Sign Up</button>
...