正在读取输入的HTML输入字段,但没有最终返回

Reading an HTML input field entered without a final Return

本文关键字:输入 返回 字段 读取 HTML      更新时间:2023-09-26

我在这个jsfiddle中有一个输入元素:http://jsfiddle.net/stevea/DLe3a/9.如果我在字段中放入内容后输入Return,我会触发更改处理程序,并拾取并显示值fine:

$(function() {
    $('input#fname').change(function(e) {
        $('div#firstName').append(this.value);
    });

但是,如果用户忘记点击回车并关闭页面,该怎么办?在这种情况下,当我感觉到页面关闭时,我想回来,并在没有返回的情况下取出输入到输入字段中的内容。

我能做到吗?在jsfiddle中,我有一个按钮及其处理程序。假设单击按钮关闭页面,我将如何响应单击按钮以获得输入字段中的值?

感谢

试试这个先生

   $(function() {
    $("#fname").change(function(e) {
        $("#firstName").append(this.value)
    });
    $("#getInput").click(function (e)  {
    });
});

要检测页面是否正在关闭,请使用.unload()事件

$(window).unload(function() {
    var input = $('#fname').val();
});

我相信您希望在窗口预关闭时执行一些代码。

下面是一些示例代码:jsDiddle

$('#fname').change(function () {
    $('#firstName').append(this.value);
});
window.onbeforeunload = function (e) {
    var e = e || window.event;
    // get input #fname
    $('#firstName').append($('#fname').val());
    // do something you want before the window closes
    // show confirm message (optional) - if you don't want show message, return '';
    //IE & Firefox
    if (e) {
        e.returnValue = 'You have some unfilled inputs!';
    }
    // For Safari
    return 'You have some unfilled inputs!';
};

问题不是检测到页面关闭。问题是在用户输入Return之前发生外部事件时捕获输入字段的内容。但在玩了更多之后,在这个jsfiddlehttp://jsfiddle.net/stevea/bT54M/3/-事实证明确实没有问题。如果您正在向输入字段中输入文本,并且正在执行外部操作,例如单击上面jsfiddle中的获取输入按钮,则会自动触发输入的更改事件,并且this.value是您迄今为止输入的内容。所以底线是,当你完成后,你不需要点击Return。您在Input之外所做的任何事情(可能是模糊Input焦点的任何事情)都会触发Input更改事件。

$(function() {
    $('input#fname').change(function(e) {
        debugger;
        $('div#firstName').append(this.value);
    });
    $('#getInput').click(function() {
         debugger;
         $('div#firstName').append(this.value);
    });
});