输入密钥做一些javascript

时间:2014-08-18 18:44:42

标签: javascript jquery html twitter-bootstrap

我正在使用Bootstrap和jQuery。当我在跟踪字段中输入内容然后点击回车键没有任何反应。因为我没有使用属性。但是如果我写了一些东西,那么我按下Check按钮它会加载一个模态并执行checkform()函数。 问题:当我按下按钮时,我想做同样的事情。我怎么能这样做?

HTML:

<input type="text" placeholder="Tracking Kod" name="tracking"  id="tracking" 
       class="form-control" autocomplete="off" required>

<button type="submit" class="btn btn-success" id="checkbutton" 
        onclick="checkform();" data-toggle="modal" data-target="#myModal">
    <span class="glyphicon glyphicon-check"></span> Check
</button>

使用Javascript:

function checkform()
{
    var tracking = document.getElementById("tracking");
    var modal = document.getElementById("modal");
    if(tracking.value == '')
    {
        modal.innerHTML = '<div class="alert alert-danger" role="alert"><span class="glyphicon glyphicon-remove"></span> Xahiş edirik tracking daxil edin!</div>';
        return false;
    }
    else
    {
        modal.innerHTML = '<div class="alert alert-info" role="alert"><span class="fa fa-spinner fa-spin"></span> Gözləyin</div>';
    }
    var url = 'track.php?tracking=' + tracking.value + '';
    $.get(url, function(response) { 
        $( "#modal" ).hide(0.1);
        $( "#modal" ).show( "slow" );
        modal.innerHTML = response;
    });
}

我试过这段代码。添加到body标签的末尾:

<script>
$.fn.enterKey = function (fnc) {
    return this.each(function () {
        $(this).keypress(function (ev) {
            var keycode = (ev.keyCode ? ev.keyCode : ev.which);
            if (keycode == '13') {fnc.call(this, ev);}
        })
    })
}

$("#tracking").enterKey(function () {checkform();});
</script>

2 个答案:

答案 0 :(得分:0)

    <script type="text/javascript">
$.fn.enterKey = function (fnc) {return this.each(function () {$(this).keypress(function (ev) {
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if (keycode == '13') {document.getElementById("checkbutton").click();}})})
}
$("#tracking").enterKey(function () {checkform();});

    </script>

答案 1 :(得分:0)

首先,您需要使用表单的onsubmit事件而不是单击按钮,然后您需要阻止回调函数中表单的默认操作。

HTML

<form onsumbit="checkfrom(event)">

</form>

JS

function checkform(event) {
    event.preventDefault();
    //rest of code
}