正在读取输入的HTML输入字段,但没有最终返回
Reading an HTML input field entered without a final Return
我在这个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);
});
});
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 为更改的输入返回插入符号位置的逻辑
- 防止空输入返回undind,而是返回一个空字符串
- JS得到一个未被关注的'输入/返回'按下回车键时
- 为什么我的正则表达式没有为我的文本输入返回正确的值
- indexof 为相同的输入返回 -1 和 7
- 停止输入/返回键提交表单
- 根据用户输入返回值
- 输入/返回按钮未在IE中提交表单
- 将输入返回到段落
- JavaScript:如何通过按下“”来突出显示文本;输入/返回”;
- Javascript:如何实现;输入/返回键”;以保存值
- Javascript函数,根据输入返回两种不同类型的变量
- 创建一个函数,该函数接受一个对象和一个键作为输入-返回对象中键的值
- Javascript's Date函数总是以不同的Json字符串作为输入返回当前时间
- 提前输入:返回具有多个数据的JSON数组
- 按钮只适用于点击,而不是输入/返回
- 在AngularJS中输入返回数字而不是字符串
- 计算器的一个输入返回3
- 从移动 Safari 日期输入返回的对象类型