Как я могу запустить <a href> нажатием клавиши ввода? - PullRequest
1 голос
/ 15 марта 2011

Итак, мне нужно исправить ошибку: всякий раз, когда вы нажимаете клавишу «Ввод»;форма не отправляется.По сути, причина в том, что элемент, который запускает отправку формы - это href ... Я попытался сделать это отправкой, но затем css завершился неудачей, поэтому мне стало интересно, есть ли способ заставить его отправить с помощью клавиши ввода?

Вот код:

        <div class="login-form-bg">
        <form name="login_form" id="login_form" method="post">
            <table>
                <tr>
                    <td>{translate id='Game'}Login:{/translate}</td>
                    <td><input type="text" name="ss_users_pseudo" /></td>
                </tr>
                <tr>
                    <td>{translate id='Game'}Password:{/translate}</td>
                    <td><input type="password" name="ss_users_password" /></td>
                </tr>
                <tr height="30px">
                    <td>&nbsp;</td>
                    <td>
                    <fb:login-button perms="email" id="facebook-login-button"></fb:login-button>
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td class="checkbox"><label for="request_password">{translate id='Game'}<a href="forgotPassword.php">Request password</a>{/translate}</label></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td class="checkbox">{translate id='Game'}Remember me{/translate} <input type="checkbox" name="ss_users_remenber_me" value="1" /></td>
                </tr>

            </table>
                <a href="#" onclick="document.login_form.submit(); return false;" name="connect" id="connect">
                    <div class="button-action login-button-div">
                        <span><span><span>
                            {translate id='Game'}Login{/translate}
                        </span></span></span>
                    </div>
                </a>
        </form>

Ответы [ 5 ]

4 голосов
/ 15 марта 2011

На самом деле, я нашел способ исправить это ... все, что мне нужно было сделать, это сделать отправку с отображением: нет и видно: false; и нет смысла заставлять ввод работать .... Я знаю, что это странно, но я здесь, чтобы исправить ошибки, а не перепроектировать код: (

1 голос
/ 15 марта 2011

Вот ответ jQuery. Но вы поняли.

Это обнаружит нажатие клавиши ввода из любого ввода в форме и вызовет метод submit() формы

$("#login_form input").keypress(function(e) {
  if (e.keyCode == 13) {
    $(this).closest("form").submit();
  }
});
1 голос
/ 15 марта 2011

Правильный подход - сделать кнопку отправки и изменить CSS соответствующим образом (вы можете сделать кнопку отправки похожей на ссылку). Вы можете зарегистрировать событие javascript, которое изменит document.location или отправит форму с формой. представить ()

0 голосов
/ 15 марта 2011

хорошо, я думаю, что я получил вас двумя способами

1 - вам нужно, когда фокус находится на href

2 - вам нужно, когда фокус находится на документе все

хорошо, если вам это нужно на фокусе href

function hrefKeyDown(evt)
{
var ev = ((window.event)?(window.event):(evt));
var ahref = ((window.event)?(window.event.srcElement):(evt.currentTarget));
var charCode = ((window.event)?(window.event.keyCode):(((evt.which)?(evt.which):(evt.keyKode))));
if(charCode==13)
{
ahref.click();
}
}

        <a href="#" onclick="document.login_form.submit(); return false;" name="connect" id="connect" onkeydown = "hrefKeyDown(event);return false;">

и если он находится на документе, когда вы нажимаете клавишу ввода, щелкните на href

function hrefKeyDown(evt)
 { 
var ev = ((window.event)?(window.event):(evt)); 
var ahref = document.getElementById('connect');
var charCode = ((window.event)?(window.event.keyCode):(((evt.which)?(evt.which):(evt.keyKode))));
if(charCode==13) 
{ 
ahref.click();
} 
}

<body onkeydown="hrefKeyDown(event);return false;">

извините запервый пост, я здесь новенький, я надеюсь, что смогу помочь:)

0 голосов
/ 15 марта 2011

Вы пробовали onkeyup для текстового поля:

if (event.keyCode == 13) { document.getElementById("connect").click(); }

Я думаю, что это должно работать. Не проверял.

...