读取在没有最终返回的情况下输入的HTML输入字段

时间:2013-09-02 02:34:52

标签: javascript jquery html

我在这个jsfiddle中有一个输入元素:http://jsfiddle.net/stevea/DLe3a/9。如果我在字段中输入内容后输入Return,则触发更改处理程序并选择并显示正确的值:

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

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

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

由于

4 个答案:

答案 0 :(得分:0)

试试这个先生

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

    $("#getInput").click(function (e)  {
    });
});

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我相信你想在预先关闭窗口时做一些代码。

以下是一些示例代码: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!';
};

答案 3 :(得分:0)

问题是没有检测到关闭页面。问题是在用户输入Return之前发生外部事件时捕获输入字段的内容。但是经过更多的讨论,在这个jsfiddle - http://jsfiddle.net/stevea/bT54M/3/ - 事实证明确实没有问题。如果您正在将文本输入到输入字段并且您在外部执行某些操作,例如点击上面的jsfiddle中的“获取输入”按钮,则会自动触发输入的更改事件,this.value就是您的“到目前为止已进入。所以最重要的是,你完成后不需要点击Return。几乎所有你在Input之外做的事情(可能是模糊输入焦点的任何事情)都会触发Input change事件。

$(function() {

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

    $('#getInput').click(function() {
         debugger;
         $('div#firstName').append(this.value);

    });
});