相关疑难解决方法(0)

如何检测文本框的内容已更改

我希望在文本框的内容发生变化时进行检测.我可以使用keyup方法,但这也会检测不生成字母的击键,如箭头键.我想到了使用keyup事件执行此操作的两种方法:

  1. 如果按下的键的ascii代码是letter\backspace\delete,则明确检查
  2. 使用闭包记住键击之前文本框中的文本是什么,并检查这是否已更改.

两者看起来都很麻烦.

javascript jquery textbox keypress

411
推荐指数
8
解决办法
47万
查看次数

离开页面之前的JavaScript

我想在用户离开页面之前做出确认.如果他说好,那么它将重定向到新页面或取消离开.我尝试使用onunload来实现它

<script type="text/javascript">
function con() {
    var answer = confirm("do you want to check our other products")
    if (answer){

        alert("bye");
    }
    else{
        window.location = "http://www.example.com";
    }
}
</script>
</head>

<body onunload="con();">
<h1 style="text-align:center">main page</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但它确认页面已经关闭后?怎么做得好?

如果有人用jQuery演示如何做到这一点会更好吗?

javascript jquery

209
推荐指数
8
解决办法
31万
查看次数

jQuery'输入'事件

input我看到这个jsfiddle之前,我从未听说过jQuery中的事件.

你知道它为什么有效吗?它是别名keyup还是什么?

$(document).on('input', 'input:text', function() {});
Run Code Online (Sandbox Code Playgroud)

jquery events input

193
推荐指数
3
解决办法
22万
查看次数

如何让$ .serialize()考虑那些禁用的:输入元素?

它似乎默认禁用输入元素被忽略$.serialize().有解决方法吗?

jquery serialization

129
推荐指数
5
解决办法
5万
查看次数

Firefox 4 onBeforeUnload自定义消息

在Firefox 3中,我能够编写一个自定义确认弹出窗口:

window.onbeforeunload = function() {
   if (someCondition) {
      return 'Your stream will be turned off';
   }
}
Run Code Online (Sandbox Code Playgroud)

现在在Firefox 4中,它不会显示我的自定义消息.它提供的默认消息甚至不能准确应用我的应用程序.

firefox 4确认

可以覆盖此默认消息吗?

javascript firefox firefox4

69
推荐指数
2
解决办法
5万
查看次数

警报未保存的表单更改

我想在主文件中编写Jquery代码,这样如果用户更改页面并且有任何未保存的更改,则用户应该获得警报.我从这里得到了一个答案:链接

但是在大多数解决方案中,我将不得不在所有页面上编写代码.我希望它只在一个地方写,这样每个人都不必担心在模块中写它.我的代码是这样的:

<script type="text/javascript">
    var isChange;
    $(document).ready(function () {
        $("input[type='text']").change(function () {
            isChange = true;
        })
    });
    $(window).unload(function () {
        if (isChange) {
            alert('Handler for .unload() called.');
        }
    });

</script>
Run Code Online (Sandbox Code Playgroud)

但每次我在文本框中进行更改.change()事件都没有触发.

代码中有什么问题?

编辑:我将.change()更改为.click并将其触发.我正在使用jquery 1.4.1 ..是因为jquery版本,change()不起作用?

javascript jquery

64
推荐指数
2
解决办法
7万
查看次数

jquery在没有单击保存按钮的情况下离开页面时发出警告

如果您更改页面上的数据然后离开页面,以下代码将执行警告.我想要 - 除非用户按下保存按钮.

这是jquery代码:

$(document).ready(function() {
  formmodified=0;
    $('form *').change(function(){
        formmodified=1;
    });
  window.onbeforeunload = confirmExit;
    function confirmExit() {
      if (formmodified == 1) {
          return "New information not saved. Do you wish to leave the page?";
      }
  }
});
Run Code Online (Sandbox Code Playgroud)

这是保存数据的按钮:

<input class="btn-primary" name="commit" type="submit" value="Save Material">
Run Code Online (Sandbox Code Playgroud)

更新谢谢tymeJV !!!!!!!

如果其他人需要它,这有效:

$(document).ready(function() {
    formmodified=0;
    $('form *').change(function(){
        formmodified=1;
    });
    window.onbeforeunload = confirmExit;
    function confirmExit() {
        if (formmodified == 1) {
            return "New information not saved. Do you wish to leave the page?";
        }
    }
    $("input[name='commit']").click(function() …
Run Code Online (Sandbox Code Playgroud)

jquery

39
推荐指数
3
解决办法
4万
查看次数

隐藏输入变更事件

如何检测隐藏输入值的变化?我已经尝试过这些方法但没有成功:

$('#id_inpout').live('change',function () {
        var id_el = $(this).attr('id');
        alert(id_el);
    });
Run Code Online (Sandbox Code Playgroud)

$('#id_inpout').change(function () {
        var id_el = $(this).attr('id');
        alert(id_el);
    });
Run Code Online (Sandbox Code Playgroud)

$('#id_inpout').bind('change',function () {
        var id_el = $(this).attr('id');
        alert(id_el);
    });
Run Code Online (Sandbox Code Playgroud)

jquery hidden input

22
推荐指数
2
解决办法
4万
查看次数

"未保存数据"保护的客户端/ JS框架?

我们有一个典型的Web应用程序,它本质上是一个具有大量屏幕的数据输入应用程序,其中一些具有一定程度的复杂性.我们需要提供标准功能,以确保用户忘记在导航或关闭浏览器之前单击"保存"按钮,他们会收到警告并可以取消(但仅当存在未保存或脏数据时).

我知道我必须做的事情的基础 - 实际上我确信在这些年之前我已经完成了所有工作(与onbeforeunload相关,跟踪页面的"脏"状态等等... )但是在我再次开始编码之前,是否有人对已经存在的图书馆(免费或其他)有一些建议会有所帮助?

javascript data-protection

20
推荐指数
4
解决办法
2万
查看次数

使用jQuery编辑表单时确认离开页面

我正在编写一个表单,我需要像stackoverflow这样的函数:"你已经开始编写或编辑帖子了."

我已经查看了stackoverflow的代码,看看他们是如何做到这一点的,但我根本没有把它应用到我的简单表单中.这就是他们对question.js的看法:

function initNavPrevention(b) {
    if (b.which == "undefined") {
        return
    }
    var a = $("#wmd-input");
    a.unbind("keypress", initNavPrevention);
    setConfirmUnload("You have started writing or editing a post.", a)
}
Run Code Online (Sandbox Code Playgroud)

其中一个函数触发了这个(我不知道c是什么):

if (c) {
    e.keypress(initNavPrevention)
}
Run Code Online (Sandbox Code Playgroud)

最后他们必须setConfirmUnload(null);禁用它我想.

我的情况很简单.我有一个页面,我加载了一个<form />通过AJAX,我想阻止加载此表单离开页面而不点击SUBMIT按钮或如果用户单击取消,表单被禁用,预防将不会弹出.

拥有此代码,有人可以告诉我如何将其包含在我的网站上吗?

这是我加载表单的AJAX函数:

$("#projects_historics_edit_part_1").click(function(){
    $("#ajax-loader").fadeIn('normal');

    $.ajax({
        url: BASE_URL + 'projects/ajax/get_historics_edit_part_1/' + PROJECT_ID,
        type: "POST",
        success: function(data) {
            $("div#projects_historics_part_1").html(data);

            $("#client").autocomplete(client_autcomplete_options);

            var inicofin = $("#initdate, #findate").datepicker(initdate_datepicker_options);
        }
    });

    $("#ajax-loader").fadeOut("normal");

    return false;    
});
Run Code Online (Sandbox Code Playgroud)

先感谢您!

jquery

18
推荐指数
2
解决办法
3万
查看次数