如何通过在键盘上按Enter而不提交表单来获取文本值

时间:2018-03-28 15:51:37

标签: javascript jquery asp.net-mvc javascript-events

我正在尝试实现一个文本框,当按下键盘输入但不会自动提交表单时。此文本框位于表单内:

var today = moment().format("MMMM Do YYYY");
document.getElementById("today").textContent= "Today is " + today;

这是javascript代码:

@Html.TextBoxFor(model => model.ID, new { @class = "form-control 
input-sm", placeholder = "Enter Id", 
onkeypress = "return fncValidateMemberID(event);" })

我的Javascript代码的问题是我无法获取文本值。

3 个答案:

答案 0 :(得分:1)

请尝试以下方法:

function fncValidateMemberID(e) {

    if (e.keyCode == 13) {
        alert($("#ID").val());
        return false;
    }
    return true;
}

它应该提醒你文本输入的值。

答案 1 :(得分:1)

将元素传递给处理函数,然后你就能得到它的值:

onkeypress = "return fncValidateMemberID(event, this);"


function fncValidateMemberID(e, textbox) {
    if (e.keyCode == 13) {
        var text = textbox.value;
        ...

答案 2 :(得分:1)

由于您已使用jQuery标记了问题,因此您可以使用.val()方法获取文本字段的值,如下所示(将ID替换为您的文本框' s clientID):

var text = $("#ID").val();

或者,没有jQuery(vanilla JavaScript):

var text = document.getElementById("ID").value;