我在这个jsfiddle中有一个输入元素:http://jsfiddle.net/stevea/DLe3a/9。如果我在字段中输入内容后输入Return,则触发更改处理程序并选择并显示正确的值:
$(function() {
$('input#fname').change(function(e) {
$('div#firstName').append(this.value);
});
但是如果用户忘记返回并关闭页面怎么办?在这种情况下,当我感觉页面关闭时,我想回来,并在没有返回的情况下拉出输入到输入字段的内容。
我能这样做吗?在jsfiddle中我有一个按钮及其处理程序。假设按钮单击正在关闭页面,我将如何响应按钮单击以获取位于输入字段中的值?
由于
答案 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);
});
});